トークンの有効期間の計算ロジック
はじめに
Authlete が発行するアクセス (リフレッシュ) トークンの有効期間秒数 (以下 duration と記述)の計算ロジックは、利用している Authlete のバージョンによって異なります。本記事では各バージョンにおける算出方法について説明します。
Authlete 1.x
- サービス
に設定されたアクセス (リフレッシュ) トークンの有効期間秒数を取得し、これを duration の初期値とする。
Authlete 2.0 以降
Authlete 2.0 からはスコープ
単位の有効期間設定をサポートしている。上記の Authlete 1.x の場合の処理に加え、以下の処理を行う。
- クライアントがリクエストしているスコープを判別する
- それら、リクエストされたスコープ群のいずれかに対して、アクセス (リフレッシュ) トークンの有効期間秒数が設定されている場合 (詳細はこちら
)、以下の処理を行う
- 当該スコープ群に設定されたアクセス (リフレッシュ) トークンの有効期間の中から、最小の値を取得する
- 現在の duration の値と、2.1. で取得した値を比較し、より小さい方を duration の値として採用する
Authlete 2.1 以降
Authlete 2.1 からはクライアント
単位の有効期間設定をサポートしている。上記の Authlete 1.x, 2.0 の場合の処理に加え、以下の処理を行う。
- どのクライアントがリクエストを行なっているかを判別する
- そのクライアントに対して、アクセス (リフレッシュ) トークンの有効期間秒数が設定されている場合 (詳細はこちら
)、 当該クライアントに対して設定されたアクセス (リフレッシュ) トークンの有効期間秒数と現在の duration の値を比較し、より小さい方を duration の値として採用する
参考リンク