仕組み
Auth0のグローバルトークン取り消しエンドポイントは、アプリにログアウトを構築するドキュメントに記載のプロファイルに従っています。ログアウト要求内でユーザーを特定するためにiss_sub
の形式と、次のURL形式を使用します:
https://{yourDomain}/oauth/global-token-revocation/connection/{yourConnectionName}
Auth0がユーザーログアウトの要求を受け取ると、Okta Workforce Identity Cloudが発行したIDトークンやアサーションの検証に使用するのと同じキーセットで要求を検証します。そして、そのユーザーのAuth0セッションをすべて終了し、Auth0が発行したリフレッシュトークンを取り消して、構成されている場合にはOpenID Connectのバックチャネルログアウトをトリガーしてアプリケーションセッションを失効させます。

- 従来型のWebアプリケーション:独自のアプリケーションセッションを作成し、リフレッシュトークンとアクセストークンを使ってセキュリティ保護されたバックエンドでAPIにアクセスします。
- ブラウザーベースのJavaScriptアプリケーション:Auth0のセッションレイヤーを活用するか、リフレッシュトークンのローテーションなどの技術を使用して、Webブラウザー内でAPIへのアクセスに必要なアクセストークンを取得します。
- ネイティブやモバイルのアプリケーション:Webブラウザー内で実行されないため、ユーザーをサインインしたまま維持するための主な方法として、リフレッシュトークンとアクセストークンを使用します。
リフレッシュトークンとAuth0のユーザーセッションを取り消す
ユニバーサルログアウト統合を有効化すると、アプリケーションがリフレッシュトークンやAuth0セッションを利用する場合にセキュリティの面でメリットがあります。- Auth0セッションを利用するブラウザーベースのアプリでは、アプリケーションが次回にAuth0セッションをポーリングするとユーザーがアクセスを失ってしまうため、Auth0はリダイレクト時にユーザーに再度認証を求めます。
- リフレッシュトークンを使用するアプリでは、現在のアクセストークンの有効期限が切れると、ユーザーがアクセスを失います。この際の有効期限は、Auth0で構成されるアクセストークンの最大ライフタイムや数秒に至るまで大きな幅があります。
アプリケーションのユーザーセッションを取り消す
Webアプリケーションが作成したセッションについては、Auth0に既存のOpenID Connectのバックチャネルログアウト機能を使用して、ユニバーサルログアウトがAuth0のユーザーセッションを終了したときに終了します。詳細については、「Auth0 SDK実装の例」をお読みください。Auth0でユニバーサルログアウトを構成する
ユニバーサルログアウトはAuth0の接続タイプごとに構成します。Okta Workforce
- Auth0テナントをOkta Workforce Identity Cloudに接続します。
- Auth0 Dashboardで[Authentication(認証)]>[Enterprise(エンタープライズ)]>[Okta Workforce] に移動します。使用している接続を選択してから、 [Settings(設定)] を選択します。
- Okta Workforce管理者に提供する [Revocation Endpoint URL(取り消しエンドポイントのURL)] をコピーします。
OpenID Connect
新しいOpenID Connect統合にはブランディングした Okta Workforce 接続の使用を強くお勧めします。ただし、Auth0 DashboardのOpenID Connect 設定 で汎用のOpenID Connect接続を使用した旧式の統合でも、ユニバーサルログアウトは引き続き有効です。
- Auth0 Dashboardで[Authentication(認証)]>[Enterprise(エンタープライズ)]>[OpenID Connect] に移動します。使用している接続を選択してから、 [Settings(設定)] を選択します。
- Okta Workforce管理者に提供する [Revocation Endpoint URL(取り消しエンドポイントのURL)] をコピーします。
SAML
- OktaをSAML IDプロバイダーとして構成します。
- Auth0 Dashboardで[Authentication(認証)]>[Enterprise(エンタープライズ)]>[SAML] に移動します。使用している接続を選択してから、 [Settings(設定)] を選択します。
-
Okta Workforce Identity Cloudに登録されているSAMLアプリケーションのアプリケーションIDを [Subject(サブジェクト)] に入力します(例:
0oagcc12354688xxxx
)。詳細については、「アプリケーションIDを取得する方法」をお読みください。 -
[Issuer(発行者)] については、Okta Workforce Identity Cloudの組織に登録されているSAMLアプリケーションに移動して、発行者のURIをコピーします。
この値を取得するには、WIC管理者はOktaポータルで [Applications(アプリケーション)] > [Applications(アプリケーション)]>[アプリケーション]>[Authentication(認証)]>[Sign-on settings(サインオンの設定)]>[Sign-on methods(サインオンの方法)]>[SAML 2.0]>[More details(詳細表示)] セクションに移動します。
- Okta Workforce管理者に提供する [Revocation Endpoint URL(取り消しエンドポイントのURL)] をコピーします。
Okta Workforce Identity Cloudでユニバーサルログアウトを構成する
Okta Workforce Identity Cloudでユニバーサルログアウトを構成して、Auth0の接続を使用しているアプリケーションにログアウト信号が送信できるようにします。これはOkta管理者が実行する必要があります。前提条件
以下が必要です。- Identity Threat Protectionが有効化されたOkta Workforce Identity Cloudの組織、または無料トライアル版が必要です。
- 汎用のSAMLやOIDCアプリ向けに提供されているユニバーサルログアウトの早期アクセス版は、Okta Workforce Identity Cloudのorganizationに対して有効化する必要があります。詳細については、「対応するアプリにユニバーサルログアウトを構成する」をお読みください。
Oktaを構成する
Okta Workforceの組織でユニバーサルログアウトをAuth0接続に有効化します。- Oktaポータルで [Applications(アプリケーション)] > [Applications(アプリケーション)] を選択します。
- Auth0統合に登録済みのアプリケーションを選択します。
-
[General(一般設定)] タブの下で [Logout(ログアウト)]>[Edit(編集)] を選択します。
- [Okta system or admin initiates logout(Oktasのシステムまたは管理者がログアウトを開始する] を選択します。
- Auth0からコピーしたURLを [Logout Endpoint URL(ログアウトエンドポイントのURL)] に入力します。
- [Subject Format(サブジェクトの形式)] に [Issuer and Subject Identifier(発行者とサブジェクトの識別子)] 選択します。
- [Save(保存)] を選択します。
ユニバーサルログアウトをテストする
選択したユーザーのセッションを取り消して、Okta Workforce Identity Cloudでユニバーサルログアウトをテストします。- Oktaポータルで [Directory(ディレクトリ)]>[People(ユーザー)] を選択します。
- Auth0アプリケーションにサインイン済みのユーザーを選択します。
-
[More Actions(その他のアクション)]>[Clear User Sessions(ユーザーセッションの消去)] を選択します。
- ダイアログで [Also include logout enabled apps and Okta API tokens(ログアウトが有効なアプリとOkta APIも含める)] を選択します。
- [Clear and Revoke(消去して取り消す)] を選択します。
ログと通知
Auth0テナントの管理者はAuth0が受信したユニバーサルログアウト要求のステータスや詳細を確認することができます。これを行うには、[Auth0 Dashboard]>[Monitoring(モニタリング)]>[Logs(ログ)]に移動します。ユニバーサルログアウトで出力されるログイベントの種類は、「ログインベントタイプのコード」に記載されています。 また、カスタムログストリームで統合して、発生したユニバーサルログアウトのイベントを外部システムに通知することもできます。Management API
Management APIを使用して、ユニバーサルログアウトをプログラムで構成することもできます。これは、構成の自動化や、の外部で独自の構成を構築する場合に役立ちます。 Okta WorkforceやOpenID Connectの接続では、への入力は必要ありません。Auth0のグローバルトークン取り消しエンドポイントをOkta Workforce管理者に提供するだけで済みます。 SAML接続ではエンドポイントのURLを共有する他にも、以下の属性をconnection
オブジェクに設定してユニバーサルログアウトを構成する必要があります。
- options.global_token_revocation_jwt_iss - Okta Workforce Identity Cloudに登録されているSAMLアプリケーションの発行者IDです。値の例:
http://www.okta.com/exkhwkmkwhZUnuA6xxxx
- options.global_token_revocation_jwt_sub - Okta Workforce Identity Cloudに登録されているSAMLアプリケーションのアプリケーションIDです。値の例:
0oagcc12354688xxxx
JSON