アプリ統合でシングルログアウトを構成する

シングル・ログアウト(SLO)とは、エンド・ユーザーが1度の操作でOktaセッションと構成済みアプリケーションの両方からサインアウトできるフェデレーション認証の機能です。

Oktaでは、サービス・プロバイダー(SP)がこのサインアウト・プロセスを開始した場合にのみ、シングル・サインアウトがサポートされます。SPがOktaにSLOリクエストを送信すると、Oktaセッションが終了します。

注

  • SWAアプリケーションはSLO操作をサポートしていません。
  • エンド・ユーザーが他の統合を開いていても、SLOを実行したことでその統合からサインアウトさせられることはありません。
  • OktaはWebアプリケーションからはサインアウトしません。
  • すべてのアプリ統合がSLOをサポートしているわけではありません。SPがダウンストリーム・アプリケーションでSLOをサポートしている場合は、アプリの構成ガイドにサポート対象の機能として記載されています。 SLOに対応するようリクエストを出す場合は、直接SPにお問い合わせください。

SAML統合でSLOを有効にする

SAMLアプリケーションの場合、SPはSLOリクエストをPOSTリクエストとしてOktaに送信できること、およびリクエストに署名されていることが必要です。

シングル・サインオン(SSO)にOktaを使用していて、Oktaセッションを閉じることでサインアウトしたい場合は、SAMLアプリケーション統合ウィザードでSLOを構成します。

  1. 管理コンソールで、[アプリケーション] > に移動します。 [アプリケーション]
  2. SLOを追加するSAMLアプリケーションをクリックします。
  3. [一般設定]タブの[SAMLの設定]パネルで[編集]をクリックします。
  4. SAML構成ウィザードで[次へ]をクリックし、ステップ2の[SAMLを構成]に移動します。
  5. [SAMLを構成] ページをクリックし、[詳細設定の表示]をクリックします。
  6. [アプリケーションによるシングル・ログアウトの開始を許可]チェック・ボックスをオンにします。
  7. [シングル・ログアウトURL]:SLOが返すURLです。これは(POST操作で)Oktaからのサインアウト応答の送信先となるサービス・プロバイダーのURLです。SP側でSLO用のURLを指定していない場合は、SPのメインURLを使用できます。
  8. [SP発行者] :アプリケーションの識別子であり、ACS URLかSPエンティティIDで表されます。SPアプリケーションからSLOリクエストで送信されるメタデータの中にもこの値が含まれます。
  9. [署名証明書]:OktaではSLOリクエストにデジタル署名が必要です。署名証明書のコピーまたはSPがSLOリクエストへの署名に使用しているCAのどちらかをアップロードする必要があります。
  10. [次へ]をクリックします。
  11. [終了]をクリックします。

最後に、SPアプリケーションで必要になるSLOの情報を取得する必要があります。

  1. [サインオン]設定タブの[設定]パネルで、[設定手順を表示]をクリックします。
  2. ここで表示されるページから、[IDプロバイダーのシングル・ログアウトURL]を確認できます。このURLをコピーし、SPアプリケーションに戻って構成設定に追加します。
  3. SLOのフローをテストするには、Okta統合を利用してSPアプリケーションにサインインし、SPアプリケーション内で該当のサインアウト方法を実行します。 これで、ブラウザー上でSPアプリケーションとOktaの両方からサインアウトが行われます。

OIDC統合でSLOを有効にする

OpenID Connect(OIDC)統合の場合は、SLOリクエストをGETリクエストとしてOktaに送信するようにSPアプリケーションを構成する必要があります。 この設定により、アプリケーションはOktaエンドポイントにリダイレクトされます。

GET https://{baseUrl}/logout?id_token_hint=${id_token}&post_logout_redirect_uri=${post_logout_redirect_uri}&state=${state}

ここで:

  • baseURL はOkta組織のURLです。
  • id_tokenはサインオン時にOktaによって発行されるOIDCトークンです。
  • 任意:post_logout_redirect_uriログアウト・リダイレクトURIです。SLO操作後にOktaによってユーザーがリダイレクトされるURIを示します。このURIは、Okta統合の[一般設定]内にある、[ログアウト・リダイレクトURI]構成のリストに記載されている必要があります。
  • 任意:stateはSLO URIへのリダイレクト時にパラメーターとして追加する任意の文字列です。

このリクエストが処理されると、id_tokenが無効になり、ユーザーはOktaからサインアウトします。

APIにGETリクエストを送信する方法の詳細については、「OpenID Connect & OAuth 2.0 API」リファレンスを参照してください。

アプリケーション開発者向けの情報として、開発者ガイドの「ユーザーのサインアウト」の項目で言語固有の手順も提供しています。

最後に、ログアウト・リダイレクトURIをOkta統合に追加する必要があります。

  1. 管理コンソールで、[アプリケーション] > に移動します。 [アプリケーション]
  2. SLOを追加するOIDCアプリケーションをクリックします。
  3. [一般設定]タブで、[編集]をクリックします。
  4. [ログアウト・リダイレクトURI]の横にある[URIを追加]をクリックします。
  5. リライング・パーティーによって開始されたSLOリクエストをOktaから受け取るURIを入力します。
  6. [保存]をクリックします。
  7. SLOのフローをテストするには、Okta統合を利用してSPアプリケーションにサインインし、SPアプリケーション内で該当のサインアウト方法を実行します。 これで、ブラウザー上でSPアプリケーションとOktaの両方からサインアウトが行われます。