トークンの有効期間のクライアント単位での制御

概要


本ドキュメントでは、アクセス (リフレッシュ) トークンの有効期間をクライアント単位で制御する方法について解説します。


はじめに


Authlete 2.1 以降、トークンの有効期間をクライアント単位で設定することが可能になりました。

トークンの有効期間の計算ロジック


別記事「トークンの有効期間の計算ロジック」をご覧ください。

設定



以下の手順に従い、クライアント単位でアクセス (リフレッシュ) トークンの有効期間を設定します。

1. クライアント管理コンソールにアクセスし、サービス管理者としてログイン(= サービスの API キーとシークレットでログイン) します。

2. 対象のクライアントの編集画面を開き、「拡張」タブ内の「アクセストークン有効期間秒数」、「リフレッシュトークン有効期間秒数」を設定します。

コンソール上でクライアント単位のトークン有効期間秒数を設定



実行例


以下の実行例は、複数の条件下で implicit フローをシミュレートしアクセストークンを発行したものになります。尚、サービス・クライアントの設定は以下の通りとなります。

  • サービスに設定されたアクセストークン有効期間秒数は 86,400 秒とする。
  • 各クライアントに対して設定されたトークン有効期間秒数は以下の通りとする。
    • クライアント 1 => 設定なし
    • クライアント 2  => 3,000 秒

1. クライアント 1 からリクエストされた場合

{
  "type":"authorizationIssueResponse",
  "accessTokenDuration":86400,
  "responseContent":"http://localhost:4180/api/mock/redirection/8076662300#access_token=1zT0XRynwLryWYRKCYSDjrwku5sD-WQTCtC1tnfExZE&token_type=Bearer&expires_in=86400&scope=openid"
}

=> サービスに設定されたアクセストークン有効期間秒数が利用されていることがわかる。

2. クライアント 2 からリクエストされた場合

{
  "type":"authorizationIssueResponse",
  "accessTokenDuration":3000,
  "responseContent":"http://localhost:4180/api/mock/redirection/8076662300#access_token=xg79MJucCq8f8QPA2_o9_q5nfzgbRQycgVwYSvMSWTY&token_type=Bearer&expires_in=3000&scope=openid"
}

=> クライアント 2 に設定されたアクセストークン有効期間秒数が利用されていることがわかる。
How did we do with this article?