ユーザーをSAML IDプロバイダーからログアウトする
シングルログアウト(SLO)とは、ユーザーが1回のログアウト操作で複数の認証セッションを終了できる機能のことです。
Auth0では、アプリケーションをSAML IDプロバイダー(IdP)に接続するときはSLOが、Auth0をSAML IdPとして構成するときは制限付きのSLOがそれぞれサポートされます。
アプリケーションがSAML IdPに接続されているときにSLOを構成する
Auth0でユーザーをIDプロバイダーからログアウトする場合は、Auth0 Authentication APIのログアウトエンドポイントを呼び出すときにfederated
パラメーターを含めます。
Auth0がSAML IdPのログアウトエンドポイントにログアウト要求を送信するためには、SAML接続に追加の設定を構成しなければならない場合があります。
[Auth0 Dashboard]>[Authentication(認証)]>[Enterprise(エンタープライズ)]>[SAML]の順に進み、接続を選択します。
[Enable Sign Out(サインアウトを有効にする)]トグルをオンにします。
SAML Idpで提供されたSAMLログアウトURLを[Sign Out URL(サインアウトURL)]フィールドに入力します。このフィールドを空白のままにすると、Auth0ではデフォルトでURLが[Sign In URL(サインインURL)]フィールドに入力されます。
[Protocol Binding(プロトコルバインディング)]フィールドが、SAML IdPで予想されるものに一致することを確認します。
Auth0がSAML IdPであるときにSLOを構成する
Auth0がSAML IdPであるときに検討すべきログアウトシナリオは2つあります。
アプリケーション起点
IdP起点
両方のシナリオでは、ログアウト応答の送信場所がわかるように、SAML2 Webアプリのアドオンを構成する必要があります。
[Auth0 Dashboard]>[Applications(アプリケーション)]>[Applications(アプリケーション)]の順に進み、アプリケーションを選択します。
[Addons(アドオン)]タブに移動し、[SAML2 Web App(SAML2 Webアプリ)]を選択します。
[Settings(設定)]タブに移動します。
[Settings(設定)]ボックスを見つけ、次のプロパティを使って
logout
オブジェクトを追加(または更新)します。callback
:アプリケーションのSLO URLを入力します。slo_enabled
:IdP起点のSLOを有効にしたい場合はtrue
を入力します。ここでは、ユーザーがAuth0 SAML IdPからログアウトすると、SAMLログアウト要求がアプリケーションに送信されます。そうでない場合は、false
を入力します。{ "logout": { "callback": "https://myapp.exampleco.com/saml/logout", "slo_enabled": true } }
Was this helpful?
/
デフォルトでは、Auth0はHTTP-POST
プロトコルバインディングを使ってSAMLログアウト応答を送信します。アプリケーションでHTTP-Redirect
プロトコルバインディングを必要とする場合は、そのようなbinding
プロパティを追加(または更新)します。
{
"binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
}
Was this helpful?
アプリケーションを起点とするログアウト
アプリケーションからのログアウトを開始する場合、アプリケーションは要求をAuthentication API SAML Logoutエンドポイントに送信し、SLOをトリガーする必要があります。
アプリケーションがSLOはサポートしないが、ログアウト後にユーザーに送信するリダイレクトURLをサポートする場合は、リダイレクトURLをAuthentication API OIDC Logoutエンドポイント(レガシーログアウトを使用している場合は、Authentication API Auth0 Logoutエンドポイント)に設定します。Auth0は他のセッション参加者にログアウトが開始されたことを通知しませんが、ユーザーのAuth0セッションは削除されます。
IdPを起点とするログアウト
ユーザーがAuth0 SAML IdPからログアウトを開始するとき、Auth0はSAMLログアウト応答をSAML2 Webアプリアドオンの[Settings(設定)]内のlogout.callback
プロパティにあるURLに送信します。このプロパティに指定できるURLは1つdけです。
この制約により、Auth0では、ユーザーがAuth0 SAML IdPに接続された複数のアプリケーションからサインアウトされる必要があるシナリオをネイティブでサポートしません。
ユーザーのAuth0セッションの状態を定期的にチェックし、アプリケーションセッションを適宜終了するようにアプリケーションを構成することで、SLOのような機能を実現することができます。詳細については、「セッションライフタイムの制限」をお読みください。