Skip to main content
Auth0 は Okta Workforce Identity との Universal Logout 連携をサポートしており、管理上またはセキュリティ上のイベントが発生した際に、ユーザーをアプリケーションからログアウトさせます。 Universal Logout は Global Token Revocation 仕様を実装しており、確立された Connect のバックチャネルログアウト標準にとどまらず、ユーザーセッションに加えて も失効させます。 この包括的なログアウトソリューションは、リフレッシュトークン、アプリケーションセッション、および新しいトークンの取得やユーザーのログイン状態の維持に使われる セッションを組み合わせて利用する、従来型Webアプリケーション、シングルページアプリケーション (SPA) 、およびネイティブアプリケーションに対応しています。 Workforce Identity とフェデレーションするために OktaSAML、または OpenID Connect の接続タイプを使用している場合、Okta Universal Logout と連携するための グローバルトークン失効 エンドポイントを構築する必要はもうありません。代わりに、Auth0 の接続固有のエンドポイント URL を Okta Workforce 管理者に提供し、必要に応じて Auth0 の OpenID Connect Back-Channel Logout を利用してアプリケーションセッションを終了できます。

仕組み

Auth0 のグローバルトークン失効エンドポイントは、Build Logout for your app で文書化されているプロファイルに従っています。ログアウトリクエスト内のユーザー識別には iss_sub 形式を使用し、URL 形式は次のとおりです。 https://{yourDomain}/oauth/global-token-revocation/connection/{yourConnectionName} Auth0 は、ユーザーをログアウトするためのリクエストを受け取ると、まず Okta Workforce Identity から発行された または assertions の検証に使用するものと同じキーセットを使って、そのリクエストを検証します。続いて、そのユーザーのすべての Auth0 セッション を終了し、Auth0 が発行した リフレッシュトークン を取り消し、設定されている場合は OpenID Connect Back-Channel Logout をトリガーしてアプリケーションセッションを無効化します。
Universal Logout を使用したユーザーワークフロー
アプリケーションのユーザーがアクセスできなくなるまでの時間は、アプリケーションの種類と Auth0 との統合方法によって異なります。Auth0 は、OIDC と のアイデンティティ標準、および Auth0 の Quickstarts and SDKs をサポートすることで、幅広い application architectures に対応しています。これには次が含まれます。
  • 独自の アプリケーションセッション を作成する従来型の Web アプリケーションでは、リフレッシュトークンと を使用して、安全なバックエンド経由で API にアクセスする場合があります。
  • Auth0 session layer を活用したり、Refresh Tokenのローテーション のような手法を使ったりして、Web ブラウザー内で API にアクセスするために必要なアクセストークンを取得する、ブラウザベースの JavaScript アプリケーション。
  • Web ブラウザー上で動作せず、ユーザーのサインイン状態を維持する主な手段としてリフレッシュトークンとアクセストークンを使用する、ネイティブまたはモバイルアプリケーション。

リフレッシュトークンと Auth0 ユーザーセッションを取り消す

リフレッシュトークンを使用する、または Auth0 セッションを利用するアプリケーションでは、Universal Logout 連携を有効にすると、次のようなセキュリティ上の利点が得られます。
  • Auth0 セッションを利用するブラウザベースのアプリでは、アプリケーションが次回 Auth0 セッションをポーリング した時点でユーザーはアクセスできなくなり、リダイレクトされると Auth0 から再度サインインを求められます
  • リフレッシュトークンを使用するアプリでは、現在のアクセストークンの有効期限が切れるとすぐに、ユーザーはアクセスできなくなります。この有効期間は、数秒から Auth0 で設定された 最大アクセストークン有効期間 までの範囲です。

アプリケーションのユーザーセッションを無効化する

ウェブアプリケーションで作成されたセッションについては、Universal Logout によって Auth0 のユーザーセッションが終了された際に、それらのセッションも終了できるよう、Auth0 の既存の OpenID Connect Back-Channel Logout 機能を使用してください。詳細については、Auth0 SDK implementation examples を参照してください。

Auth0 で Universal Logout を設定する

Auth0 の接続タイプ別に Universal Logout を設定します。

Okta Workforce

  1. Auth0 テナントを Okta Workforce Identity に接続します
  2. Auth0 Dashboard で Authentication > Enterprise > Okta Workforce に移動し、接続を選択して 設定 をクリックします。
  3. Revocation Endpoint URL をコピーして、Okta Workforce 管理者に共有します。

OpenID Connect

新しい OpenID Connect 連携には、ブランド化された Okta Workforce 接続タイプの使用を強く推奨します。ただし、古い連携でも、Auth0 Dashboard の OpenID Connect 設定 で汎用の OpenID Connect 接続タイプを使用している場合は、Universal Logout を有効にできます。
  1. Auth0 Dashboard で Authentication > Enterprise > OpenID Connect. に移動します。接続を選択し、設定 を選びます。
  2. Revocation Endpoint URL をコピーし、Okta Workforce 管理者に渡します。

SAML

  1. Okta を SAML アイデンティティプロバイダーとして設定する
  2. Auth0 Dashboard で Authentication > Enterprise > SAML に移動し、対象の接続を選択して 設定 をクリックします。
  3. Subject には、Okta Workforce Identity に登録されている SAML アプリケーションのアプリケーション ID を入力します。例: 0oagcc12354688xxxx。詳しくは、How to Obtain an Application ID を参照してください。
  4. Issuer については、Okta Workforce Identity organization で登録されている SAML アプリケーションに移動し、issuer URI をコピーします。
    この値を取得するには、WIC 管理者は Okta ポータルの アプリケーション > アプリケーション > [Application] > Authentication > Sign-on settings > Sign-on methods > SAML 2.0 > More details セクションに移動します。
  5. Revocation Endpoint URL をコピーします。この URL は Okta Workforce の管理者に渡します。

Okta Workforce Identity で Universal Logout を設定する

Auth0 接続を介してアプリケーションにログアウトシグナルを送信するように、Okta Workforce Identity で Universal Logout を設定します。これは Okta の管理者が実行する必要があります。

前提条件

必要なもの:

Okta を設定する

Auth0 接続の Okta Workforce organization で Universal Logout を有効にします。
  1. Okta ポータルで、アプリケーション > アプリケーション を選択します。
  2. Auth0 連携用に登録したアプリケーションを選択します。
  3. General タブで、Logout > Edit を選択します。
    Universal Logout 設定用の Okta Dashboard の画像
  4. Okta system or admin initiates logout を選択します。
  5. Auth0 からコピーした URL を Logout Endpoint URL に入力します。
  6. Subject FormatIssuer and Subject Identifier を選択します。
  7. Save を選択します。

Universal Logout をテストする

選択したユーザーのセッションを無効化して、Okta Workforce Identity で Universal Logout をテストします。
  1. Okta ポータルで、Directory > People を選択します。
  2. Auth0アプリケーションにサインインしているユーザーを選択します。
  3. More Actions > Clear User Sessions を選択します。
    Okta Dashboard で Universal Logout をテストする
  4. ダイアログで、Also include logout enabled apps and Okta API tokens を選択します。
  5. Clear and Revoke を選択します。

ログと通知

Auth0 テナントの管理者は、Auth0 が受信した各 Universal Logout リクエストのステータスと詳細を Auth0 Dashboard > Monitoring > Logs で確認できます。Universal Logout で出力されるログイベントのイベントタイプについては、Log Event Type Codes を参照してください。 また、Custom Log Streams と連携して、Universal Logout イベントが発生した際に外部システムへ通知することもできます。

Management API

Management API を使用して、Universal Logout をプログラムで設定することもできます。これは、設定を自動化したり、 を使わずに独自の設定を構築したりする場合に便利です。 Okta Workforce と OpenID Connections の場合、Okta Workforce 管理者に提示する必要があるのは Auth0 のグローバル トークン失効エンドポイントだけであるため、 への入力は不要です。 SAML 接続の場合、エンドポイント URL を共有することに加えて、connection オブジェクトに次の属性を設定して Universal Logout を構成する必要があります。
  • options.global_token_revocation_jwt_iss - Okta Workforce Identity に登録された SAML アプリケーションの issuer ID。値の例: http://www.okta.com/exkhwkmkwhZUnuA6xxxx
  • options.global_token_revocation_jwt_sub - Okta Workforce Identity に登録された SAML アプリケーションの アプリケーション ID。値の例: 0oagcc12354688xxxx
これらの属性は、Management API 呼び出しで SAML 接続を 更新 または 作成 する際に使用できます。リクエストを作成するには、次の JSON の例を参照してください。
JSON
詳しくは、Management API を使用してエンタープライズ接続を作成するをご覧ください。