リフレッシュトークン
リフレッシュトークン とは何ですか?
リフレッシュトークンユーザーの再ログインなしに、OAuth 2.0 認可サーバーから新しい短命なアクセストークンを取得するために用いる長命の資格情報。
リフレッシュトークンは、アクセストークンの有効期限を超えてセッションを維持するためのものです。クライアントは認可サーバーの /token エンドポイントでそれを提示し、新しいアクセストークン(必要に応じてローテーションされたリフレッシュトークン)を受け取ります。長期間のアクセスを与えるため、HttpOnly Cookie や安全な領域での保管、クライアント・デバイスへの紐づけ、使用ごとのローテーション、リプレイ検出(古いトークンが再提示されたらチェーン全体を失効)が必要です。ブラウザ JavaScript からは決してアクセスできないようにします。モバイルや SPA では OAuth 2.1 に従い PKCE とローテーションを使ってください。
● 例
- 01
POST /oauth/token に grant_type=refresh_token を付けてアクセストークンを更新する。
- 02
ローテーション運用:同じ旧トークンが二度提示されるとサーバーがチェーン全体を失効させる。
● よくある質問
リフレッシュトークン とは何ですか?
ユーザーの再ログインなしに、OAuth 2.0 認可サーバーから新しい短命なアクセストークンを取得するために用いる長命の資格情報。 サイバーセキュリティの ID とアクセス カテゴリに属します。
リフレッシュトークン とはどういう意味ですか?
ユーザーの再ログインなしに、OAuth 2.0 認可サーバーから新しい短命なアクセストークンを取得するために用いる長命の資格情報。
リフレッシュトークン はどのように機能しますか?
リフレッシュトークンは、アクセストークンの有効期限を超えてセッションを維持するためのものです。クライアントは認可サーバーの /token エンドポイントでそれを提示し、新しいアクセストークン(必要に応じてローテーションされたリフレッシュトークン)を受け取ります。長期間のアクセスを与えるため、HttpOnly Cookie や安全な領域での保管、クライアント・デバイスへの紐づけ、使用ごとのローテーション、リプレイ検出(古いトークンが再提示されたらチェーン全体を失効)が必要です。ブラウザ JavaScript からは決してアクセスできないようにします。モバイルや SPA では OAuth 2.1 に従い PKCE とローテーションを使ってください。
リフレッシュトークン からどのように防御しますか?
リフレッシュトークン に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
● 関連用語
- identity-access№ 007
アクセストークン
認可サーバーが発行する短命の資格情報で、クライアントは API に提示してユーザーやサービスの代わりに保護リソースへアクセスする。
- identity-access№ 574
JWT(JSON Web Token)
署名付き JSON クレームを運ぶ、コンパクトで URL セーフなトークン形式(RFC 7519)。アクセストークン、ID トークン、セッションコンテナとして広く使われる。
- identity-access№ 749
OAuth 2.0
リソース所有者が資格情報を共有せずに、サードパーティ製アプリへ API に対する制限付き・スコープ付きのアクセスを委譲できる、オープンな認可フレームワーク。
- identity-access№ 760
OpenID Connect (OIDC)
OAuth 2.0 上に構築された ID レイヤーで、クライアントが署名付き ID トークンを通じて利用者の身元を検証し、基本プロフィールを取得できるようにする。
- identity-access№ 1018
セッション管理
認証済みセッションを発行・維持・更新・失効させる一連のコントロール。ログアウトや期限切れまで、利用者の身元を後続のリクエストに紐付ける。
- identity-access№ 088
ベアラトークン(Bearer Token)
RFC 6750 で定義された不透明あるいは構造化された資格情報。所持しているだけでリソースへのアクセス権が与えられ、本人確認は行われない。