メインコンテンツへスキップ
シングルログアウト (SLO) は、1回のログアウト操作で、ユーザーが複数の認証セッションを終了できる機能です。 Auth0 は、アプリケーションを SAML IDプロバイダー (IdP) に接続している場合に SLO をサポートします。また、Auth0 を SAML IdP として設定している場合は、限定的な SLO をサポートします。

アプリケーションが SAML IdP に接続されている場合の SLO の設定

Auth0 でユーザーをその IDプロバイダーからログアウトさせるには、Auth0 Authentication API の Logout エンドポイントを呼び出すときに federated パラメーターを含めます。 Auth0 がログアウトリクエストを SAML のログアウトエンドポイントに送信できるようにするには、SAML 接続に追加の設定が必要になる場合があります。
  1. Auth0 Dashboard > Authentication > Enterprise > SAML に移動し、対象の接続を選択します。
  2. Enable Sign Out をオンにします。
  3. Sign Out URL フィールドに、SAML IdP から提供された SAML Logout URL を入力します。このフィールドを空欄のままにすると、Auth0 は既定で Sign In URL フィールドの URL を使用します。
  4. Protocol Binding フィールドの値が、SAML IdP で想定されているプロトコルバインディングと一致していることを確認します。

Auth0 が SAML IdP の場合の SLO の設定

Auth0 が SAML IdP の場合、考慮すべきログアウトのシナリオは 2 つあります。
  • アプリケーション起点
  • IdP 起点
どちらのシナリオでも、ログアウトレスポンスの送信先がわかるように、SAML2 Web App addon を設定する必要があります。
  1. Auth0 Dashboard > Applications > Applications に移動し、アプリケーションを選択します。
  2. Addons タブに移動し、SAML2 Web App を選択します。
  3. Settings タブに移動します。
  4. Settings ボックスを見つけて、以下のプロパティを含む logout オブジェクトを追加または更新します。
    • callback: アプリケーションの SLO URL を入力します。
    • slo_enabled: ユーザーが Auth0 SAML IdP からログアウトしたときに Auth0 からアプリケーションへ SAML ログアウトリクエストを送信する、IdP 起点の SLO を有効にする場合は true を入力します。それ以外の場合は false を入力します。
      cURL
      {
        "logout": {
          "callback": "https://myapp.exampleco.com/saml/logout",
          "slo_enabled": true
        }
      }
      
デフォルトでは、Auth0 は HTTP-POST プロトコルバインディングを使用して SAML ログアウトレスポンスを送信します。アプリケーションで HTTP-Redirect プロトコルバインディングを想定している場合は、次のように binding プロパティを追加または更新します。
JSON
{
  "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
}

アプリケーション起点のログアウト

ユーザーがアプリケーションからログアウトを開始する場合は、SLO を開始するために、Authentication API の SAML Logout endpoint にリクエストを送信する必要があります。 アプリケーションが SLO をサポートしていなくても、ログアウト後のリダイレクト URL をサポートしている場合は、そのリダイレクト先 URL を Authentication API の OIDC Logout endpoint に設定してください (レガシー logout を使用している場合は、Authentication API の Auth0 Logout endpoint に設定してください) 。Auth0 は、ログアウトが開始されたことを他のセッション参加者に通知しませんが、ユーザーの Auth0 セッション は削除されます。

IdP 起点のログアウト

ユーザーが Auth0 SAML IdP からログアウトを開始すると、Auth0 は SAML2 Web App アドオンの Settings にある logout.callback プロパティで指定された URL に、SAML ログアウトレスポンスを送信します。このプロパティに指定できる URL は 1 つだけです。 この制約により、Auth0 SAML IdP に接続されている複数のアプリケーションからユーザーをサインアウトさせる必要があるシナリオは、Auth0 ではネイティブにサポートされていません。 SLO に近い動作は、ユーザーの Auth0 セッションの状態をアプリケーションが定期的に確認し、それに応じてアプリケーションのセッションを終了するよう設定することで実現できます。詳細については、Session Lifetime Limits を参照してください。

詳しくはこちら