永続化 - C# SDK
OAuth永続化の実装
アプリケーションが承認されると、その後のZoho CRMへのユーザーデータリクエストにOAuthアクセストークンとリフレッシュトークンを使用できます。したがって、クライアントアプリで永続化する必要があります。
永続化するには、次のコールバックメソッドを持つ組み込みのIZohoPersistenceHandlerインターフェイスの実装を記述してください。
- SaveOAuthTokens(ZohoOAuthTokens tokens) - 以下の取得中に呼び出されます。
- 認可トークンを使用してアクセストークンとリフレッシュトークンを取得
- リフレッシュトークンを使用してアクセストークンを取得
- DeleteOAuthTokens() - 新しく受信したトークンを保存する前に呼び出されます。
- GetOAuthTokens() - 保存されたトークンを取得するリクエストを実行する前に呼び出されます。このメソッドは、ZohoOAuthTokensオブジェクトを処理するために、ライブライリーのZohoOAuthTokensオブジェクトを返す必要があります。
C# SDKには、クライアントライブラリー内のIZohoPersistenceHandlerインターフェイスの3つのサンプル実装が用意されています。具体的には次のとおりです。
- ZohoOAuthFilePersistence
- ZohoOAuthDBPersistence
- ZohoOAuthInMemoryPersistence
実装されたクラスまたはSDKによって提供されるハンドラーの名前(とコンマで区切られたそのアセンブリー)は、キーperistence_handler_classの値として指定する必要があります。
たとえば、app.configファイルのoauth_configurationセクションの下にある「persistence_handler_class=<persistence_handler_class, assembly_name>」のようになります。
注:
- 永続化ハンドラークラスが指定されていない場合、デフォルトでは、インメモリー永続化ハンドラーが永続化実装を処理します。
- 定義済みの永続化ハンドラークラスは、アセンブリーZCRMSDKに属します。
ZohoOAuthFilePersistence
この持続化のメソッドでは、ローカルファイルを使用して、OAuthトークンを読み書きします。
トークンを読み書きするためにライブラリーが使用するファイルの完全なパスは、キーoauth_tokens_file_pathの値としてapp.configファイルのoauth_configurationセクションで指定する必要があります。
ZohoOAuthDBPersistence
この永続化のメソッドでは、カスタムMySQL persistenceを使用します。これを使用するには、次のことを確認する必要があります。
- MySQLは、デフォルトのポート3306で機能する同一のマシンで実行する必要があります。
- データベース名はzohooauthにする必要があります。
- useridentifier(varchar(100))、accesstoken(varchar(100))、refreshtoken(varchar(100))、expirytime(bigint)の列を含むテーブル*oauthtokens*が必要です。
ZohoOAuthInMemoryPersistence
シングルトンクラスを使用して、トークンを保存、取得します。デフォルトの実装で、外部ファイルは必要ありません。
注:
- ZohoOAuthFilePersistenceとZohoOAuthInMemoryPersistenceの実装では、シングルユーザーのトークンのみの保存と更新がサポートされています。したがって、これらは、アプリがシングルユーザーのためにZoho APIにアクセスする場合にのみ使用されます。
- アプリが複数のユーザーをサポートする必要がある場合は、ZohoOAuthDBPersistenceを使用するか、IZohoPersistenceHandlerの独自の実装を作成してください。