Skip to main content
Auth0 Dashboard または Auth0 SPA SDK を使用して、各アプリケーションで のローテーションを設定します。が有効な場合、ユーザーはシームレスに移行できます。アプリケーションは、従来の未期限切れの非ローテーション リフレッシュトークンを使用し、それをローテーションされるリフレッシュトークンに交換します。 移行シナリオでは、非ローテーション リフレッシュトークンからローテーションされるリフレッシュトークンへの移行と、その逆方向の移行の両方で、自動的なトークンの取り消しに対応しています。
  • Refresh Tokenのローテーションが有効な場合: 非ローテーション リフレッシュトークンを交換すると、新しいローテーションされるリフレッシュトークンが発行され、同じ client_id、ユーザー、テナントに対して発行されたすべての非ローテーション トークンが削除されます。
  • Refresh Tokenのローテーションが無効な場合: ローテーションされるリフレッシュトークンを交換すると、非ローテーション リフレッシュトークンが発行され、同じ client_id、リソースサーバー、ユーザー、テナントに対して発行されたローテーションされるリフレッシュトークン ファミリーが取り消されます。

Auth0 Dashboardで設定する

  1. Dashboard > Applications に移動します。
  2. 設定するアプリケーションを選択します。
  3. Settings タブに移動します。
  4. リフレッシュトークンのローテーション で、Allow Refresh Token Rotation を有効にします。
    Dashboard アプリケーション アプリケーション Settings タブ リフレッシュトークンのローテーション
  5. 自動的な再利用検出がトリガーされる前に、リクエストとレスポンスの間の猶予時間を考慮できるよう、リフレッシュトークンの Rotation Overlap Period (秒) を入力します。 このオーバーラップ期間は、一定時間内にローテーションされるリフレッシュトークンを複数回交換する際の同時実行の問題を回避するのに役立ちます。猶予時間内は侵害検出機能は適用されず、新しいローテーションリフレッシュトークンが発行されます。再利用できるのは直前のトークンのみで、ひとつ前のさらに前のトークンが交換されると、侵害検出がトリガーされます。
  6. Save Changes を選択します。
リフレッシュトークンのローテーションは、リフレッシュトークンのグラントタイプが有効になっている OIDC準拠のアプリケーションでのみサポートされています。

Auth0 SPA SDK を使用して設定する

Auth0 SPA SDK を使用して、リフレッシュトークンのローテーションを有効にできます。クライアント SDK でオフラインアクセスを有効にし、offline_access スコープをリクエストする必要があります。
  1. auth0-spa-js SDK の最新バージョンをインストールします。 npm install @auth0/auth0-spa-js
  2. useRefreshTokens: true を設定して SDK でこの機能を有効にし、offline_access スコープの送信を開始します。
  3. リフレッシュトークンのローテーション設定を行います。例:
リフレッシュトークンのローテーションは、リフレッシュトークン グラントタイプが有効な OIDC準拠のアプリケーションでのみサポートされています。

自動再利用検出

以前に無効化されたトークンが使用されると、その無効化されたトークンの発行以降に発行されたリフレッシュトークン一式が、グラントとともに直ちに取り消され、ユーザーは再認証を求められます。

詳細はこちら