/authorize エンドポイントの呼び出しを開始すると、Auth0 はアクティブなセッションが存在するかどうかを確認し、既存のセッションを再利用するか、指定された session_transfer_token を使用します。セッションインジェクションのリスクを回避するため、Auth0 は session_transfer_token が有効かどうかを、安全で事前定義された評価基準に基づいて判定します。詳しくは、Configure and Implement Native to Web SSO を参照してください。
Native to Web SSO では、標準の Auth0 シングルサインオン 認証は変更されません。
- 有効な
session_transfer_tokenが送信され、既存の Auth0 セッションがない場合、ユーザーはログインされます。 - 有効な
session_transfer_tokenが送信され、同じユーザーの既存の Auth0 セッションが見つかった場合、ユーザーはログインされます。 - 既存の Auth0 セッションが見つかり、
session_transfer_tokenが別のユーザーに属している場合、ユーザーはログインを求められます。さらに、既存の Auth0 セッションは失効します。 - 既存の Auth0 セッションが見つかり、
session_transfer_tokenが無効な場合、ユーザーはログインを求められます。
セッションとリフレッシュトークンの失効
session_transfer_token は、WebView またはブラウザーで安全なセッションを開始し、ログインを求められることなくユーザーを安全に認証するために使用されます。これらの Web セッションでは、独自の が発行されることもあります。
Native to Web SSO では、セッションとリフレッシュトークンが失効されたときに、一貫性と安全性を確保するため、次の失効ルールが適用されます。
- リフレッシュトークンが失効されると、ネイティブアプリケーションで
enforce_cascade_revocationが有効になっている場合は、それに関連付けられたリフレッシュトークンとセッションも失効されます。 - Web セッションが失効されると、Web アプリケーションで
enforce_online_refresh_tokensが有効になっている場合は、それに関連付けられたリフレッシュトークンも失効されます - 入れ子の Native to Web SSO は許可されていません。
session_transfer_tokenを使用して作成された Web セッションから、別のsession_transfer_tokenを生成することはできません。