OIDCバックチャネルログアウトイニシエータを使用すると、セッション終了イベントに基づいて、ユーザーをリモートでアプリケーションからログアウトさせることができます。OIDCバックチャネルログアウトイニシエータは、IDプロバイダー()起点のログアウト要求など、プロトコルを超えて動作し、サードパーティーのクッキー制限には影響されません。
この機能はOIDCバックチャネルの標準仕様を拡張したものです。この機能を構成すると、パスワードの変更やセッションの期限切れなどの特定のセッション終了イベント、またはすべてのセッション終了イベントに対して、OIDCバックチャネルログアウト要求を開始できるようになります。
管理者はAuth0 を使って、特定のアプリケーションに対してこの機能を有効にすることができます。
OIDCバックチャネルログアウトイニシエータの仕組み
イニシエータは、OIDCバックチャネルログアウト応答をセッション終了イベントにバインドします。イベントをキャプチャして、対象のセッションに関連付けられているすべてのアプリケーションでOIDCログアウトトークンをトリガーするのに使用します。
イニシエータは、テナントにおけるセッション管理(セッション終了イベントを含む)を制御しません。
下の図は、パスワード変更イベントについて、OIDCバックチャネルログアウトイニシエータの動作をまとめたものです。
OIDCバックチャネルログアウトイニシエータを構成する
OIDCバックチャネルログアウトイニシエータはAuth0 Management APIを使って構成することができます。
Management API
Auth0 Management APIでOIDCバックチャネルログアウトイニシエータを構成するには、クライアント更新エンドポイントを使用します。
-
update:clientsスコープを持つManagement APIアクセストークンを取得します。
-
ペイロードに適切な構成データを含めて、クライアント更新エンドポイントを呼び出します。たとえば、パスワード変更イベントの後でアプリケーションからログアウトさせるには、以下を提供します。
プロパティ
backchannel_logout_initiatorsオブジェクトは以下のプロパティをサポートしています。
| プロパティ | タイプ | 必須? | 説明 | サポートされている値 |
|---|
mode | 文字列 | 必須 | イニシエーターを有効にするための構成方法。 | custom、all |
selected_initiators | 配列 | modeがcustomの場合は必須 | 有効にするイニシエーターのリスト。 | rp-logout、idp-logout、password-changed、session-expired、session-revoked、account-deleted、email-identifier-changed |
modeプロパティ
modeプロパティはイニシエータを有効化するための構成メソッドを定義します。
デフォルトではcustomに設定され、有効化したいイニシエータを指定できるようになっています。IdPセッションの終了後に必ずアプリケーションをログアウトさせたい場合には、allに設定します。
modeプロパティは以下の値をサポートしています。
| 値 | 説明 |
|---|
custom | selected_initiators配列にリストされたイニシエーターのみを有効にします。 |
all | 現在および将来のすべてのイニシエーターを自動的に有効にします。 |
selected_initiatorsプロパティ
selected_initiatorsプロパティには、指定されたアプリケーションに対して有効化するイニシエータのリストが含まれます。
selected_initiatorsプロパティは以下の値をサポートしています。
| 値 | 説明 |
|---|
rp-logout | 要求がリライングパーティー(RP)によって開始されました。 |
idp-logout | 要求が外部IDプロバイダー(IdP)によって開始されました。 |
password-changed | 要求がパスワードの変更によって開始されました。 |
session-expired | 要求がセッションの期限切れによって開始されました。 |
session-revoked | 要求がセッションの削除によって開始されました。 |
account-deleted | 要求がアカウントの削除によって開始されました。 |
email-identifier-changed | 要求がメール識別子の変更によって開始されました。 |
アプリケーションを現在と未来のイニシエータすべてに登録する
アプリケーションをパスワード変更のイニシエータにのみ登録する(rp-logoutとidp-logoutが必要)
すべてのイニシエータを登録解除する(rp-logoutはデフォルトで登録されたままになる)
ダッシュボード
Connectバックチャネルログアウトは他のアプリケーション設定と並行して構成できます。この機能は、バックチャネルログアウトURIが提供されると、自動的にアクティブ化されます。
Selected initiators only(選択されたイニシエータのみ)
必要なイニシエータ(rp-logoutとidp-logout)のみがデフォルトで登録されます。他の追加のイニシエータは、未来に追加されるものも含めて、前もって選択しておかないと、アプリケーションからログアウトを開始できません。
選択したイニシエータについてのみアプリケーションをログアウトさせたい場合には、このオプションを選択します。
All supported initiators(すべてのサポートされているイニシエータ)
すべてのサポートされているイニシエータが、未来に追加されるものも含めて、デフォルトで登録されます。
IdPセッションの終了時に必ずアプリケーションをログアウトさせたい場合には、このオプションを選択します。