Skip to main content
シングルログアウト (SLO) は、1回のログアウト操作で複数の認証セッションを終了できる機能です。 Auth0 は、アプリケーションを SAML IDプロバイダー (IdP) に接続する場合の SLO をサポートしており、Auth0 を SAML IdP として設定する場合は、限定的な SLO をサポートしています。

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

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

Auth0 が SAML IdP の場合の SLO 設定

Auth0 が SAML IdP の場合、考慮すべきログアウトのシナリオは 2 つあります。
  • アプリケーション起点
  • IdP 起点
どちらのシナリオでも、ログアウト応答の送信先を指定するために、SAML2 Web App アドオンを設定する必要があります。
  1. Auth0 Dashboard > アプリケーション > アプリケーション に移動し、対象のアプリケーションを選択します。
  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
デフォルトでは、Auth0 は HTTP-POST プロトコルバインディングを使用して SAML ログアウト応答を送信します。アプリケーションが HTTP-Redirect プロトコルバインディングを想定している場合は、次のように binding プロパティを追加または更新します。
JSON

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

ユーザーがアプリケーションからログアウトを開始した場合、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 をご覧ください。

詳しくはこちら