メインコンテンツへスキップ
OIDCバックチャネルログアウトイニシエータを使用すると、セッション終了イベントに基づいて、ユーザーをリモートでアプリケーションからログアウトさせることができます。OIDCバックチャネルログアウトイニシエータは、IDプロバイダー()起点のログアウト要求など、プロトコルを超えて動作し、サードパーティーのクッキー制限には影響されません。 この機能はOIDCバックチャネルの標準仕様を拡張したものです。この機能を構成すると、パスワードの変更やセッションの期限切れなどの特定のセッション終了イベント、またはすべてのセッション終了イベントに対して、OIDCバックチャネルログアウト要求を開始できるようになります。 管理者はAuth0 を使って、特定のアプリケーションに対してこの機能を有効にすることができます。

OIDCバックチャネルログアウトイニシエータの仕組み

イニシエータは、OIDCバックチャネルログアウト応答をセッション終了イベントにバインドします。イベントをキャプチャして、対象のセッションに関連付けられているすべてのアプリケーションでOIDCログアウトトークンをトリガーするのに使用します。
イニシエータは、テナントにおけるセッション管理(セッション終了イベントを含む)を制御しません。
下の図は、パスワード変更イベントについて、OIDCバックチャネルログアウトイニシエータの動作をまとめたものです。

OIDCバックチャネルログアウトイニシエータを構成する

OIDCバックチャネルログアウトイニシエータはAuth0 Management APIを使って構成することができます。

Management API

Auth0 Management APIでOIDCバックチャネルログアウトイニシエータを構成するには、クライアント更新エンドポイントを使用します。
  1. update:clientsスコープを持つManagement APIアクセストークンを取得します。
  2. ペイロードに適切な構成データを含めて、クライアント更新エンドポイントを呼び出します。たとえば、パスワード変更イベントの後でアプリケーションからログアウトさせるには、以下を提供します。
    JSON
    PATCH /api/v2/clients/{yourClientId}
    {
      ...
      "oidc_logout": {
        "backchannel_logout_urls": ["https://example.com/cb"]
        "backchannel_logout_initiators": {
          "mode":"custom",
          "selected_initiators": ["rp-logout", "idp-logout", "password-changed"]
        }
      }
      ...
    }
    

プロパティ

backchannel_logout_initiatorsオブジェクトは以下のプロパティをサポートしています。
プロパティタイプ必須?説明サポートされている値
mode文字列必須イニシエーターを有効にするための構成方法。customall
selected_initiators配列modecustomの場合は必須有効にするイニシエーターのリスト。rp-logoutidp-logoutpassword-changedsession-expiredsession-revokedaccount-deletedemail-identifier-changed
modeプロパティ
modeプロパティはイニシエータを有効化するための構成メソッドを定義します。 デフォルトではcustomに設定され、有効化したいイニシエータを指定できるようになっています。IdPセッションの終了後に必ずアプリケーションをログアウトさせたい場合には、allに設定します。 modeプロパティは以下の値をサポートしています。
説明
customselected_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要求がメール識別子の変更によって開始されました。

アプリケーションを現在と未来のイニシエータすべてに登録する
JSON
PATCH /api/v2/clients/{yourClientId}

{
  ...
  "oidc_logout": {
    "backchannel_logout_urls": ["https://example.com/cb"]
    "backchannel_logout_initiators": {
      "mode":"all"
    }
  }
  ...
}
アプリケーションをパスワード変更のイニシエータにのみ登録する(rp-logoutとidp-logoutが必要)
JSON
PATCH /api/v2/clients/{yourClientId}

{
  ...
  "oidc_logout": {
    "backchannel_logout_urls": ["https://example.com/cb"]
    "backchannel_logout_initiators": {
      "mode":"custom",
      "selected_initiators": ["rp-logout", "idp-logout", "password-changed"]
    }
  }
  ...
}
すべてのイニシエータを登録解除する(rp-logoutはデフォルトで登録されたままになる)
JSON
PATCH /api/v2/clients/{yourClientId}

{
  ...
  "oidc_logout": {
	  "backchannel_logout_urls": ["https://example.com/cb"]
  }
  ...
}

ダッシュボード

Connectバックチャネルログアウトは他のアプリケーション設定と並行して構成できます。この機能は、バックチャネルログアウトURIが提供されると、自動的にアクティブ化されます。
Dashboard > Applications > Application Settings

Selected initiators only(選択されたイニシエータのみ)

必要なイニシエータ(rp-logoutidp-logout)のみがデフォルトで登録されます。他の追加のイニシエータは、未来に追加されるものも含めて、前もって選択しておかないと、アプリケーションからログアウトを開始できません。 選択したイニシエータについてのみアプリケーションをログアウトさせたい場合には、このオプションを選択します。

All supported initiators(すべてのサポートされているイニシエータ)

すべてのサポートされているイニシエータが、未来に追加されるものも含めて、デフォルトで登録されます。 IdPセッションの終了時に必ずアプリケーションをログアウトさせたい場合には、このオプションを選択します。
I