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

はじめに


Authlete が発行するアクセス (リフレッシュ) トークンの有効期間秒数 (以下 duration と記述)の計算ロジックは、利用している Authlete のバージョンによって異なります。本記事では各バージョンにおける算出方法について説明します。

Authlete 1.x


  • サービスに設定されたアクセス (リフレッシュ) トークンの有効期間秒数を取得し、これを duration の初期値とする。
    image.png 68.25 KB

Authlete 2.0 以降


Authlete 2.0 からはスコープ単位の有効期間設定をサポートしている。上記の Authlete 1.x の場合の処理に加え、以下の処理を行う。

  1. クライアントがリクエストしているスコープを判別する
  2. それら、リクエストされたスコープ群のいずれかに対して、アクセス (リフレッシュ) トークンの有効期間秒数が設定されている場合 (詳細はこちら)、以下の処理を行う
    1. 当該スコープ群に設定されたアクセス (リフレッシュ) トークンの有効期間の中から、最小の値を取得する
    2. 現在の duration の値と、2.1. で取得した値を比較し、より小さい方を duration の値として採用する

Authlete 2.1 以降


Authlete 2.1 からはクライアント単位の有効期間設定をサポートしている。上記の Authlete 1.x, 2.0 の場合の処理に加え、以下の処理を行う。

  • どのクライアントがリクエストを行なっているかを判別する
  • そのクライアントに対して、アクセス (リフレッシュ) トークンの有効期間秒数が設定されている場合 (詳細はこちら)、 当該クライアントに対して設定されたアクセス (リフレッシュ) トークンの有効期間秒数と現在の duration の値を比較し、より小さい方を duration の値として採用する

参考リンク


How did we do with this article?