仕組み
- ユーザーがアプリケーションでログアウトを開始します。
- アプリケーションはユーザーを Auth0 Authentication API の OIDC Logout エンドポイントに誘導します。
- Auth0 は、指定された OIDC Logout エンドポイントパラメーター に基づいて、ユーザーを適切な宛先にリダイレクトします。
RP-Initiated Logout を設定する
end_session_endpoint パラメータを取得できること、および必要なパラメータを指定して OIDC Logout エンドポイントを呼び出すことを確認する必要があります。
endpoint discovery を有効にする
2023年11月14日以降に作成されたAuth0 テナントでは、RP-Initiated Logout End Session Endpoint Discovery はデフォルトで有効になっています。
- Auth0 Dashboard
- Management API
Auth0 Dashboard で RP-Initiated Logout End Session Endpoint Discovery を有効にするには:
- Auth0 Dashboard > 設定 > Advanced に移動します。
- Login and Logout セクションを探します。
- RP-Initiated Logout End Session Endpoint Discovery のトグルを有効にします。
OIDC Logout エンドポイントを呼び出す
Auth0のSDKライブラリの大半はOIDCに準拠しており、標準でRP-Initiated Logoutをサポートしています。
id_token_hint パラメーターを指定することが Auth0 によって推奨されています。
アプリケーションでを安全に保存できない場合は、代わりに logout_hint と client_id パラメーターを指定できます。
OIDC Logout エンドポイントは、冗長な情報を含めて呼び出すこともできます。たとえば、
id_token_hint と logout_hint、または id_token_hint と client_id を送信できます。どの場合でも、Auth0 はユーザーとセッションのデータに整合性があるかを確認し、不一致があればエラーを返します。OIDC Logout エンドポイントのパラメーター
id_token_hint パラメーター
Auth0 では、OIDC Logout エンドポイントを呼び出す際に
id_token_hint パラメーターを使用することを推奨しています。id_token_hint パラメーターの値には、ユーザーが認証された後に Auth0 が発行した ID トークンを指定する必要があります。
ID トークンには、検証に使用する登録済みクレームの issuer (iss)、 (aud)、および Auth0 セッション ID (sid) が含まれます。ID トークンのクレームの詳細については、ID Token Structure を参照してください。
例
logout_hint パラメータ
logout_hint パラメータの値には、ユーザーの現在の Auth0 セッションのセッション ID (sid) を指定する必要があります。
セッション ID (sid) は、ユーザーの認証後に Auth0 が発行した ID トークン内の登録済みクレームとして提供されます。
例
post_logout_redirect_uri パラメーター
post_logout_redirect_uri パラメーターの値は、有効でエンコード済みの URL で、次のいずれかの Allowed Logout URLs の一覧に登録されている必要があります。
- アプリケーション設定:
id_token_hintパラメーター、またはlogout_hintパラメーターとclient_idパラメーターを指定する場合。 - テナント設定:
logout_hintパラメーターのみを指定する場合。
例
アプリケーションの Allowed Logout URLs を更新する
- Auth0 Dashboard
- Management API
Auth0 Dashboard でアプリケーションの Allowed Logout URLs のリストに URL を登録するには、次の手順に従います。
- Auth0 Dashboard > Applications > Applications に移動します。
- 対象のアプリケーションを選択します。
- Application URIs セクションを見つけます。
- ガイドライン に従って Allowed Logout URLs を更新します。
テナントの Allowed Logout URLs を更新
- Auth0 Dashboard
- Management API
Auth0 Dashboard でテナントの Allowed Logout URLs リストに URL を登録するには、次の手順に従います。
- Auth0 Dashboard > 設定 > Advanced に移動します。
- Login and Logout セクションを見つけます。
- 以下のガイドライン に従って Allowed Logout URLs を更新します。
Allowed Logout URLs のガイドライン
- 複数の URL 値はコンマ (
,) で区切ってください。 - URL スキーム (たとえば
https://) を含めてください。
*) を使用できます (たとえば https://*.example.com) 。ただし、本番環境ではワイルドカードを使用しないことを推奨します。詳しくは、Subdomain URL Placeholders を参照してください。
post_logout_redirect_uri にクエリ文字列パラメーターを追加する
post_logout_redirect_uri パラメーターで指定された URL のクエリ文字列パラメーターを解析します。
Allowed Logout URLs には、クエリ文字列パラメーターを含む完全一致の URL を含める必要があります。そうしないと、logout request は拒否されます。URL は、すべてのクエリパラメータ名と値を含めて、完全に一致している必要があります。
たとえば、https://example.com/logout?myParam=1234 を post_logout_redirect_uri パラメーターに渡す場合 (https%3A%2F%2Fexample.com%2Flogout%3FmyParam%3D1234 としてエンコードされます) 、完全な URL https://example.com/logout?myParam=1234 を Allowed Logout URLs に含める必要があります。
ui_locales パラメーター
ui_locales パラメーターの値は、スペース区切りの サポートされているロケール のリストである必要があります。
リストの最初の値は、テナントのデフォルト言語設定 と一致している必要があります。
federated パラメーター
federated パラメーターには値を指定する必要はありません。
OIDC Logout エンドポイントを呼び出す際に federated パラメーターを含めると、Auth0 はユーザーをそのアイデンティティプロバイダーからログアウトさせようとします。
ログアウト同意プロンプト
id_token_hintとlogout_hintのパラメーターがどちらも指定されていない。- ID トークンの
sidクレームが、リクエスト内のブラウザーセッションに対応していない。 logout_hintパラメーターの値が、現在のセッションデータと一致しない。

ログアウトの同意プロンプトを無効にする
- Auth0 Dashboard > 設定 > Advanced に移動します。
-
Show RP-Initiated Logout End-User Confirmation トグルを無効にします。
