OIDC Back-Channel Logout Initiators を使用すると、セッション終了イベントに基づいて、ユーザーをアプリケーションからリモートでログアウトできます。OIDC Back-Channel Logout Initiators はプロトコルをまたいで機能します。たとえば、起点 (IdP 起点) の ログアウトリクエストにも対応しており、サードパーティ Cookie 制限の影響を受けません。
この機能は、標準の OIDC バックチャネル仕様の拡張です。パスワード変更やセッションの有効期限切れなど、特定のセッション終了イベント、またはすべてのセッション終了イベントに対して、OIDC Back-Channel Logout リクエストを開始するよう設定できます。
管理者は、Auth0 の を使用して、この機能を特定のアプリケーションに対して有効にできます。
OIDC Back-Channel Logout イニシエーター の動作
イニシエーター は、OIDC Back-Channel Logout のレスポンスをセッション終了イベントに関連付けます。イベントを検知し、それをトリガーとして、指定されたセッションに関連付けられたすべてのアプリケーションで OIDC ログアウトトークンを発行します。
イニシエーター は、セッション終了イベントを含む、テナント内のセッション管理を制御しません。
次の図は、パスワード変更イベントに対して OIDC Back-Channel Logout イニシエーター がどのように動作するかを示しています。
Auth0 Management API を使用して、OIDC Back-Channel Logout Initiators を設定できます。
クライアントを更新 エンドポイントを使用して、Management API でアプリケーションの OIDC Back-Channel Logout Initiators を設定できます。
update:clients スコープを持つ Management API アクセストークン を取得します。
- ペイロードに適切な設定データを指定して、クライアントを更新 エンドポイントを呼び出します。たとえば、パスワード変更イベントの後にアプリケーションをログアウトさせるには、次の内容を指定します。
backchannel_logout_initiators オブジェクトでは、次のプロパティをサポートしています。
| プロパティ | 型 | 必須 | 説明 | サポートされる値 |
|---|
mode | string | 必須 | イニシエーターを有効化する設定方法。 | custom, all |
selected_initiators | array | 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 | メールアドレス識別子の変更によってリクエストが開始されます。 |
アプリケーションを現在および将来のすべてのイニシエーターに登録する
アプリケーションを password-changed イニシエーターのみに登録する (rp-logout と idp-logout が必要)
すべてのイニシエーターの登録を解除する (デフォルトは引き続き rp-logout)
Connect Back-Channel Logout は、アプリケーション設定の他の項目とあわせて設定できます。Back-Channel Logout URI を指定すると、この機能は自動的に有効になります。
デフォルトでサブスクライブされるのは、必須のイニシエーター (rp-logout と idp-logout) のみです。今後追加されるものも含め、追加のイニシエーターは、このアプリケーションからのログアウトを開始できるようにする前に、事前に選択する必要があります。
選択したイニシエーターでのみアプリケーションをログアウトさせる場合は、このオプションを選択します。
今後追加されるものを含め、サポートされているすべてのイニシエーターがデフォルトでサブスクライブされます。
IdP セッションが終了するたびにアプリケーションをログアウトさせる場合は、このオプションを選択します。