ログアウト
Overview
重要なコンセプト
各種のセッション層を確認する
ログアウト後にユーザーをリダイレクトする方法を確認する
ユーザーはAuth0のセッションに加え、(任意で)IDプロバイダー(IdP)のセッションからもログアウトさせることができます。ログアウト機能を実装する場合は、通常、3つのセッションレイヤーを考慮する必要があります。
アプリケーションセッションレイヤー:最初のレイヤーはアプリケーションの内部セッションです。アプリケーションがAuth0を使用してユーザーを認証していたとしても、ユーザーがアプリケーションにログインしたことを追跡する必要があります。通常のWebアプリケーションでは、情報をクッキーに保存することでこれを達成します。セッションをクリアすることでユーザーをアプリケーションからログアウトします。アプリケーションセッションはアプリケーション内で処理する必要があります。
Auth0セッションレイヤー:Auth0もユーザーのセッションを維持し、クッキー内にユーザーの情報を保管します。次回、ユーザーがAuth0のLock画面にリダイレクトされた時に、このユーザーの情報が使用されます。シングルサインオン(SSO)クッキーをクリアすることで、ユーザーをAuth0からログアウトします。
IDプロバイダーセッションレイヤー:最後のセッションレイヤーはIDプロバイダーレイヤー(FacebookやGoogleなど)です。ユーザーがこれらのプロバイダーのいずれかでサインインを試みて、ユーザーがすでにプロバイダーにサインインしている場合、再度サインインを求められることはありません。ユーザーは、Auth0、そしてひいてはアプリケーションと、情報を共有するための許可を求められるかもしれません。このセッションレイヤーからユーザーをログアウトさせる必要はありませんが、必要であれば強制的にログアウトさせることができます(詳細については、「IDプロバイダーからユーザーをログアウトする」および「SAML IDプロバイダーからユーザーをログアウトする」をご覧ください)。
ログアウト後にユーザーをリダイレクトする
ユーザーがログアウトした後、特定のURLにユーザーをリダイレクトすることができます。テナントまたはアプリケーションの設定で、リダイレクトURLを登録する必要があります。Auth0では、ログアウト後、許可リストにあるURLにしかリダイレクトできません。各アプリケーションごとに異なるリダイレクト先が必要な場合は、アプリケーション設定の許可リストにURLを追加できます。