トークンの永続化 - PHP SDK

トークンの永続化とは、Zohoから提供される認証トークンの保管と利用のことです。SDKには、3通りの永続化の適用方法があります。データベースの永続化(初期設定)、ファイルの永続化、カスタム永続化です。

データベースの永続化

データベースの永続化を使用する場合、MySQLを使用できます。データベースの永続化の仕組みは、PHP SDK内の初期設定のメソッドです。

  • データベース名は、zohooauth にする必要があります。

  • 以下の列を含む、oauthtokens テーブルが必要です。

    • useridentifier (varchar(100))

    • accesstoken (varchar(100))

    • refreshtoken (varchar(100))

    • expirytime (bigint)

メモ

バージョン2.0.7以降では、設定配列の host_address キー内に、マシンのアドレスを指定できます。初期値は「local host」です。

ファイルの永続化

ファイルの永続化の場合、ローカルドライブにファイルとして永続化を設定することもできます。$configuration 配列(キー/値ペア)の token_persistence_path 内でファイルパスを設定する必要があります。

  • ファイルの永続化を使用する場合、zcrm_oauthtokens.txt というファイル名で、空のファイルを作成する必要があります。

  • zcrm_oauthtokens.txt ファイルを含むフォルダーのファイルパスを、token_persistence_path に指定する必要があります、

たとえば、ファイルを"TokenStorage"フォルダー内に置く場合、次のように指定します。

token_persistence_path="{path/to/TokenStorage}"

パスには、"zcrm_oauthtokens.txt"を含めないでください。

カスタム永続化

PHP SDK バージョン2以降では、ユーザー独自の永続化を実装できます。設定配列(キー/値ペア)の persistence_handler_class キー内に、カスタム永続化を実装するPHPファイルのファイルパスを指定する必要があります。

メモ

バージョン2.0.7以降では、設定配列の persistence_handler_class_nameキー内に、永続化ハンドラークラスの名前を指定できます。

  • クラスに ZohoOAuthPersistenceInterface を実装する必要があります。

以下のコールバックメソッドを含む、備え付けのZohoPersistenceHandlerインターフェイスの実装を記載できます。

  • saveOAuthData(ZohoOAuthTokens tokens) - Zohoからアクセストークンとリフレッシュトークンを取得する際に呼び出されます

  • deleteOAuthTokens($userEmailId) - 新たに受信したトークンを保存する前に呼び出されます

  • getOAuthTokens($userEmailId) - 保存したトークンを取得するためのリクエストを送信する前に呼び出されます。このメソッドは、ライブラリーが処理するための ZohoOAuthTokens オブジェクトを返します。