/login/callbackへ渡されるreturnToクエリパラメータではなく、常にAuth0のログアウトAPIに渡されたURIにユーザーがリダイレクトされるようになります。使用されるURIは、セッションのログアウトを要求するために呼び出されたAPIによって異なります。
https://{yourDomain}/logout: Auth0はreturnToパラメータを使用しますhttps://{yourDomain}/v2/logout?federated: Auth0はreturnToパラメータを使用しますhttps://{yourDomain}/wsfed/{yourClientId}?wa=wsignout1.0:wreplyパラメータ
影響を受けるエンドポイント
https://{yourDomain}/v2/logout:federatedクエリパラメータを使用してIDプロバイダーからユーザーをログアウトさせる場合https://{yourDomain}/wsfed/{yourClientId}?wa=wsignout1.0:wreplyクエリを使用してWS-Fed Protocol を使用して Auth0 からログアウトする場合https://{yourDomain}/login/callback:returnToクエリパラメータを使用する場合。
- Logout URL を指定するための
/v2/logout or /wsfed/{yourClient}?wa=wsignout1.0への事前の呼び出しなしに、/login/callback?returnToを呼び出すアプリケーション。 /login/callback?returnToを呼び出す際に、returnToに、先行する/v2/logoutまたは/wsfed/{yourClientId}の呼び出しで最初に指定された値とは異なる値を指定する IDプロバイダー。- 影響を受ける API のいずれかに対して、呼び出しごとに異なるリダイレクト URI を指定しながら、同時に呼び出しを行うアプリケーション。
/v2/logoutまたは/wsfed/{yourClientId}?wa=wsignout1.0への事前の呼び出しの有無にかかわらず、/authorizeAPI への呼び出しを、影響を受ける API のいずれかへの呼び出しと同時または交互に行うアプリケーションまたはユーザー。
対応
-
Auth0 Dashboard > Monitoring > Logs に移動し、
type:depnote AND description:*unvalidated*redirects*を検索して、非推奨の動作に依存しているアプリケーションを特定します。 -
影響を受ける各アプリケーションについて、以下を確認します。
- アプリケーションまたは Relying Party が、Auth0 の公開 API のいずれかを使用してログアウトを開始していること: Authentication API: Logout または Authentication API: WS-Federation。
- アプリケーションが、
/login/callback?returnToに返される Logout URL を IDプロバイダーが変更することを前提としていないこと。こうした変更は今後反映されません。 - アプリケーションが、異なる Logout URL を使ってログアウト API を同時に呼び出していないこと。Auth0 では、ある時点で 1 つのユーザーエージェントにつき 1 つの Logout URL しか保存されないため、同時に進行するログアウト処理ではリダイレクトに失敗します。
- アプリケーションが、
/authorizeへの呼び出しをログアウト API への呼び出しと同時に、または交互に実行していないこと。ログイン トランザクションが完了すると、ユーザーエージェントに保存された Logout URL は消去されるため、同時に進行するログアウト処理ではリダイレクトに失敗します。 - アプリケーションとユーザーが、
/authorizeへの呼び出しと影響を受ける API のいずれかへの呼び出しを交互に実行していないこと。
移行の確認
- Auth0 Dashboard > Tenant Settings > Advanced に移動し、Migrations セクションを探します。
- Unvalidated redirects from /login/callback スイッチを無効にします。このスイッチをオフにすると、そのテナントで非推奨の動作が無効になり、使用できなくなります。