トークンの永続化 - 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 オブジェクトを返します。