Skip to main content
WebView またはブラウザーが /authorize エンドポイントへの呼び出しを開始すると、Auth0 はアクティブなセッションがあるかどうかを確認し、既存のセッションを再利用するか、指定された session_transfer_token を使用します。セッションインジェクションのリスクを回避するため、Auth0 は session_transfer_token が有効かどうかを判断するための、安全な事前定義済みの評価を行います。詳しくは、Configure and Implement Native to Web SSO を参照してください。
ネイティブからWebへのSSOは、標準の Auth0 Single Sign-On 認証を変更するものではありません。
ネイティブからWebへの フロー固有の動作として、次のようなものがあります。
  1. 有効な session_transfer_token が送信され、既存の Auth0 セッションがない場合、ユーザーはログインした状態になります。
  2. 有効な session_transfer_token が送信され、同じユーザーの既存の Auth0 セッションが見つかった場合、ユーザーはログインした状態になります。
  3. 既存の Auth0 セッションが見つかり、session_transfer_token が別のユーザーに属している場合、ユーザーはログインを求められます。さらに、既存の Auth0 セッションは取り消されます。
  4. 既存の Auth0 セッションが見つかり、session_transfer_token が無効な場合、ユーザーはログインを求められます。
これらの動作は、標準のネイティブからWebへのSSOに適用されます。アクターを含む session_transfer_token (Session Delegation 用に発行されたもの) は異なる動作をします。サブジェクトユーザーがすでにアクティブなセッションを持っている場合、既存のセッションを取り消す代わりに、エラーページによって試行がブロックされます。詳細については、Delegated Session Behavior and Monitoring を参照してください。

セッションとリフレッシュトークンの取り消し

session_transfer_token は、WebView またはブラウザーで安全なセッションを開始し、ユーザーにログインを求めることなく安全に認証するために使用されます。これらのWebセッションは、独自の を発行することもあります。 ネイティブからWebへのSSO では、セッションやリフレッシュトークンが取り消された際に、一貫性のある安全な動作を確保するため、一連の取り消しルールが適用されます。
  • リフレッシュトークンが取り消されると、ネイティブアプリケーションで enforce_cascade_revocation が有効になっている場合、それに関連付けられたリフレッシュトークンとセッションも取り消されます。
  • Webセッションが取り消されると、Webアプリケーションで enforce_online_refresh_tokens が有効になっている場合、それに関連付けられたリフレッシュトークンも取り消されます。
  • ネストされたネイティブからWebへのSSOは許可されていません。session_transfer_token を使用して作成されたWebセッションでは、別の session_transfer_token を生成できません。