代替ログアウトでユーザーをリダイレクトする

ログアウト後にユーザーを特定のURLにリダイレクトできます。テナントまたはアプリケーションの設定で、リダイレクトURLを登録する必要があります。Auth0は、ログアウト後に許可リストURLのみにリダイレクトします。各アプリケーションごとに異なるリダイレクトが必要な場合は、アプリケーション設定の許可リストにURLを追加できます。

  1. ターゲットをURL値として、returnToクエリ文字列パラメーターを追加します。渡されるリダイレクト先のURLをエンコードします。たとえば、ログアウト後にユーザーをhttps://www.example.comにリダイレクトするには、以下の要求を作成します。 https://{yourDomain}/v2/logout?returnTo=https%3A%2F%2Fwww.example.com.

  2. 以下の2つの場所のいずれかに、[Allowed Logout URLs(許可されているログアウトURL)]として、エンコードされていない returnTo URL(例:https://www.example.com)を追加します。

    • Tenant Settings(テナント設定)client_idパラメーターを含まないログアウト要求については、[Tenant Settings(テナント設定)]の[Advanced(高度な設定)]タブ[Allowed Logout URLs(許可されているログアウトURL)]リストにreturnTo URLを追加する必要があります。

      ユーザーがテナントレベルでログアウトした後にリダイレクト先となるURLのリストを追加するには、Auth0 Dashboard.の[Tenant Settings(テナント設定)] > [Advanced(高度な設定)] に移動します。

      Auth0 Dashboard 設定 高度な設定タブ ログインとログアウト
    • Auth0のApplication Settings(アプリケーションの設定)client_idパラメーターを含むログアウト要求については、関連するAuth0アプリケーションの[Settings(設定)]タブの[Allowed Logout URLs(許可されているログアウトURL)]リストにreturnTo URLを追加する必要があります。

      Dashboard アプリケーション アプリケーション設定 アプリケーションのURL

URLリストを提供する際には、以下を行うことができます。

  1. 複数の有効なURLをカンマ区切りで指定する

  2. *サブドメインのワイルドカードとして使用する(例:http://*.example.com

client_idパラメーターが含まれていて、returnTo URLが設定されていない場合は、サーバーは、Dashboardに設定されている最初の[Allowed Logout URLs(許可されているログアウトURL)]にユーザーをリダイレクトします。

検証エラーを避けるために、URLのプロトコルの部分を必ず含めます。たとえば、*.example.comに値を設定すると、検証エラーが発生するので、代わりに、http://*.example.comを使用します。

フェデレーションログアウト

いくつかのプロバイダーは、フェデレーションログアウトをサポートしています。

フェデレーションログアウトを使用してユーザーをアプリケーションからリダイレクトするには、以下のエンドポイントでフェデレーションログアウトを開始します。

https://{yourDomain}/v2/logout?federated

リダイレクト前に、アプリケーションがユーザーセッションを終了する必要がありますが、これはお客様の責任となります。

ユーザーが/logoutエンドポイントに到達すると、Auth0は、Auth0セッションを終了し、ユーザーをIDプロバイダーのログアウトエンドポイントにリダイレクトして、IDプロバイダーとのセッションを終了します。

制限事項

  • returnToパラメーターの値として提供されたURL、クエリ文字列、URLの一部として提供されたハッシュ情報の検証は、考慮されません。

  • ソーシャルプロバイダーのフェデレーションログアウトの動作は、一致しません。プロバイダーによってreturnToパラメーターの扱いは異なり、動作しないプロバイダーもあります。ソーシャルプロバイダーの設定で、returnToパラメーターを受け入れていること、またその動作について確認してください。

  • [Allowed Logout URLs(許可されているログアウトURL)]リストに提供されたURLは、大文字と小文字を区別するため、ログアウトに使用されたURLは、Dashboardで設定されたログアウトURLケースと大文字・小文字が一致している必要があります。しかし、スキームおよびホスト部分は大文字と小文字を区別しないのでご注意ください。たとえば、URLがhttp://www.Example.Com/FooHoo.htmlであれば、http://www.Example.Com の部分では大文字と小文字の区別がされず、FooHoo.htmlの部分では区別されます。

GoogleやFacebookなどのソーシャルIDプロバイダーを使用している場合は、ログアウトが適切に機能するように、DashboardでこれらプロバイダーのClient IDおよびSecretを設定する必要があります。

Facebookの追加要件

ログアウト後にユーザーにリダイレクトする方法を指定するために、returnToパラメーターを使用します。

すべてのIdPsreturnToをサポートしているとは限りません。

Facebookについては、以下の例にあるコードでは、returnToを使用して、リダイレクトのWebサイトを指定しています。

https://{yourDomain}/v2/logout?federated&
      returnTo=https://{yourDomain}/logout?returnTo=http://www.example.com
      &access_token={facebookAccessToken}

Was this helpful?

/

もっと詳しく