Skip to main content
は、漏えいすると新しい の取得に悪用されるおそれがあります。このリスクを軽減するため、Auth0 では Automatic Reuse Detection と の使用を推奨しています。リフレッシュトークンローテーション では、あらかじめ設定した有効期間が過ぎると失効するリフレッシュトークンが発行されます。失効後、ユーザーには同じファミリー内の新しいリフレッシュトークン (同じファミリー ID を共有するリフレッシュトークン) 、 または新しいアクセストークンとリフレッシュトークンのペアが発行されます。詳しくは、リフレッシュトークンローテーション を参照してください。 最大有効期限とアイドル有効期限という 2 つのリフレッシュトークンの有効期限設定は、 または Auth0 の のいずれかを使用して有効化および設定できます。最大有効期限とアイドル有効期限を組み合わせることで、セキュリティとユーザー体験のバランスを取りながら、ビジネスニーズに合った設定にできます。
  • 最大有効期間: ユーザーが新しいアクセストークンを発行される前に再認証が必要になるまでの、リフレッシュトークンまたはリフレッシュトークンファミリーの有効期間を設定します。この設定を無効にすると、最大有効期間は無期限になります。
  • アイドル有効期間: 指定した期間中にユーザーがアプリケーションで操作しなかった場合に失効するよう、発行されたリフレッシュトークンのアイドル有効期間を設定します。

Auth0 Dashboard を使用する

  1. Auth0 Dashboard > Applications に移動します。
  2. 設定するアプリケーションを選択します。
  3. Settings タブに移動します。
  4. Refresh Token Expiration で、Set Idle Refresh Token Lifetime を有効にします。有効にすると、リフレッシュトークンはアイドル時のリフレッシュトークンの有効期間に基づいて期限切れとなり、それ以降は使用できなくなります。ローテーションが有効になっている場合は、有効期限を設定する必要があります。
    Auth0 Dashboard の Applications の Applications Settings タブの Refresh Token Expiration
  5. Idle Refresh Token Lifetime を秒単位で入力します。リフレッシュトークンは、指定した時間が経過すると期限切れになり、新しいアクセストークンの取得には使用できなくなります。ローテーションが有効になっている場合、アイドル時のリフレッシュトークンの有効期間は、新しいトークンを取得できる期間にも適用されます。
    • Idle Refresh Token LifetimeMaximum Refresh Token Lifetime を超えることはできません。
    • 1 年は、うるう年を考慮して 365.25 日として計算されます。
  6. Set Maximum Refresh Token Lifetime を有効にします。有効にすると、リフレッシュトークンは指定した最大有効期間に基づいて期限切れとなり、それ以降は使用できなくなります。
  7. Maximum Refresh Token Lifetime を秒単位で入力します。リフレッシュトークンが指定した期間内に交換されない場合、そのリフレッシュトークンは期限切れとなり、新しいアクセストークンの取得には使用できなくなります。アイドル時のリフレッシュトークンの有効期限は、指定した期間内にリフレッシュトークンが新しいアクセストークンに交換されるたびに更新されます。
  8. Save Changes を選択します。

Management API を使用する

Management API の /api/v2/clients/ エンドポイントでは、ペイロードで最大有効期間とアイドル時の有効期間を設定できます。以下は、ローテーションしないリフレッシュトークンの有効期限を設定する例です。

サポートと制限事項

  • 最大リフレッシュトークン有効期間は発行時に決定され、その後は、アプリケーションの最大リフレッシュトークン有効期間が更新されても変わりません。ただし、Actions を使用したセッションを使用すると、発行時に最大リフレッシュトークン有効期間を明示的に上書きできます。これには、リフレッシュトークン交換が成功した場合も含まれます。
  • アイドルリフレッシュトークン有効期間は現在のアプリケーション設定を反映し、リフレッシュトークン交換が成功するたびに更新されます。
  • アプリケーションに Maximum Refresh Token Lifetime を設定すると、そのアプリケーションが発行した有効期限のないリフレッシュトークンは、リフレッシュトークン交換が成功した後、有効期限付きのリフレッシュトークンになります。
  • 有効期限のないリフレッシュトークンが有効期限付きのリフレッシュトークンになると、再び有効期限のないリフレッシュトークンに戻すことはできません。
  • リフレッシュトークンの有効期限機能は、必要に応じて利用するよう選択できます。特に対応は必要ありません。既存のリフレッシュトークンには影響しません。
  • リフレッシュトークンの有効期限は、次のフローで機能します。
  • すべての Auth0 SDK でリフレッシュトークンの有効期限がサポートされています。
  • リフレッシュトークンの有効期限機能は、OAuth 2.0 Security BCP recommendations に準拠しています。
OAuth BCP では、ブラウザベースのアプリケーション向けに発行されるリフレッシュトークンには有効期限が必要であり、さらに送信者制約を強制するか、リクエストごとにトークンをローテーションする必要があるとされています。したがって、SPA ではデフォルトでローテーションが有効になり、有効期限のないリフレッシュトークンはサポートされません

詳しく見る