SPA でユーザーセッションを維持する


自動再利用検出

- 正規のクライアントは リフレッシュトークン 1 を保持しており、それが悪意のあるクライアントに漏えいまたは盗まれます。
- 正規のクライアントは リフレッシュトークン 1 を使用して、新しいリフレッシュトークン / アクセストークンのペアを取得します。
- Auth0 は リフレッシュトークン 2 / アクセストークン 2 を返します。
- その後、悪意のあるクライアントが リフレッシュトークン 1 を使ってアクセストークンを取得しようとします。Auth0 はリフレッシュトークン 1 が再利用されていることを検知し、リフレッシュトークン 2 を含むトークンファミリー全体をただちに無効化します。
- Auth0 は悪意のあるクライアントに access denied レスポンスを返します。
- アクセストークン 2 の有効期限が切れ、正規のクライアントが リフレッシュトークン 2 を使って新しいトークンペアをリクエストしようとします。Auth0 は正規のクライアントに access denied レスポンスを返します。
- 再認証が必要になります。
ferrt など) をログに記録します。これは、不審なアクティビティを検出するうえで、Auth0 の ログストリーミング 機能と組み合わせると特に有用です。
別の例として、悪意のあるクライアントが リフレッシュトークン 1 を盗み、正規のクライアントが リフレッシュトークン 1 を使おうとする前に、それを使ってアクセストークンの取得に成功するケースがあります。この場合、悪意のあるクライアントのアクセスは短期間にとどまります。これは、次の図に示すように、正規のクライアントが リフレッシュトークン 1 を使おうとした時点で リフレッシュトークン 2 (またはその後に発行された任意のリフレッシュトークン) が自動的に失効するためです。

SDK サポート
- Auth0 SPA SDK
- Flutter (Web)
- Swift (iOS) SDK
- Android SDK
- Flutter
- React Native SDK
- WPF / Winforms
- Xamarin