Auth0 Management APIでリフレッシュトークンを管理する

Auth0はリフレッシュトークンを資格情報アーティファクトとして発行し、アプリケーションは、これを使うことでユーザーによる介入なしに新しいアクセストークンを取得することができます。その結果、Auth0はセキュリティの強化を目的にアクセストークンの有効期間を短くでき、アクセストークンの期限が切れてもユーザーの操作を必要としません。

Management APIエンドポイント

Auth0 Management APIは、リフレッシュトークンを個別またはコレクションとして管理するためのエンドポイントを提供します。

これらのエンドポイントは、device-credentialsリソースエンドポイントを、拡張されたプロパティと一括取り消し操作に置き換えることで、代替のリフレッシュトークンの取り消しを補完します。

リフレッシュトークンリソース

以下のエンドポイントで、特定のリフレッシュトークンを表示または取り消すことができます。

名前 URL 必要なスコープ
View a refresh token information by ID(リフレッシュトークン情報をIDで表示する) GET /api/v2/refresh-tokens/{tokenId} read:refresh_tokens
Revoke a refresh token by ID(リフレッシュトークンをIDで取り消す) DELETE /api/v2/refresh-tokens/{tokenId} delete:refresh_tokens

ユーザーリソース

特定のユーザーに対するすべてのリフレッシュトークンをリスト表示または取り消すには、以下のエンドポイントを使用できます。

名前 URL 必要なスコープ
ユーザーのすべてのリフレッシュトークンを一覧表示する GET /api/v2/users/{userId}/refresh-tokens read:refresh_tokens
ユーザーのすべてのリフレッシュトークンを取り消す DELETE /api/v2/users/{userId}/refresh-tokens delete:refresh_tokens

リフレッシュトークンのプロパティ

リフレッシュトークンのエンドポイントはトークンやその履歴についての関連情報を返します。

フィールド 説明
リフレッシュトークンID APIのリフレッシュトークンにあるテナント固有の識別子です。トークン自体ではありません。トークンはAuthentication APIのトークンエンドポイントとやり取りされる秘密です。

リフレッシュトークンはセッションの生存期間に制約されません。セッションのライフサイクルにかかわらず、リフレッシュトークンはこの情報を保持します。
セッションID セッションIDは、Auth0テナントにおける永続的な識別子です。セッションIDはIDトークンやログアウトトークンにあるsidクレームに対応しているため、それらを相互参照するのに使うことができます。

リフレッシュトークンは、トークンの作成に使用されたセッションを参照します。セッションIDを使用すると、Management APIのIDで特定セッションのイントロスペクトエンドポイントを使って追加情報を取得することができます。
関連時間 リフレッシュトークンが作成された日付や有効期限に関する情報です。
クライアントとリソースサーバーの情報 リフレッシュトークンに結び付けられたアプリケーションとAPIの要約です。
デバイスコンテキスト デバイスプロパティには、リフレッシュトークンの作成と交換に使用されたネットワーク(IP、ASN)とユーザエージェントの詳細が含まれています。

制限事項

  • リフレッシュトークンの取り消し(DELETE)操作は非同期で実行され、最終的に一貫性を持ちます。

  • 2023年9月21日以降に発行されたリフレッシュトークン(US-3リ-ジョンのテナントの場合は2024年2月22日)には、適切な値を持つセッションID(session_id)プロパティが含まれます。この日付よりも前に発行されたリフレッシュトークンには、null値を持つこのプロパティが含まれます。

もっと詳しく