ユーザーをIDプロバイダーからログアウトさせる

プロバイダーによっては、ユーザーをIDプロバイダーから強制的にログアウトさせることができます。Auth0は通常、これを行うためにfederatedクエリ文字列パラメーターを/oidc/logoutエンドポイントでのリダイレクトに追加します。

これを行うには、federatedクエリ文字列パラメーターをログアウトURLに追加します:

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

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

以下のIDプロバイダーがフェデレーションログアウトに対応しています。

  • Evernote

  • Facebook

  • Fitbit

  • GitHub

  • Google

    • アプリ

    • OAuth 2.0

  • Microsoft

    • Active Directoryフェデレーションサービス(ADFS)

    • Office 365

    • Microsoft Azure Active Directory

    • Windows Live

  • Salesforce/Salesforce Sandbox

  • X

  • Yahoo

  • Yammer

アプリケーションセッションを消去する

Auth0のログアウトエンドポイントは、Auth0からユーザーをログアウトさせます。また、任意でIDプロバイダーからもログアウトさせます。アプリケーションからはログアウトさせません。これは、お客様の側で実装してください。ユーザーのセッションを消去して、アプリケーションからユーザーをログアウトさせる必要があります。

代替のログアウト

フェデレーションログアウトを代替のログアウトエンドポイントに追加するには、federatedクエリ文字列パラメーターをログアウトURLに追加します:

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

代替のログアウトでの制限事項

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

  • ソーシャルプロバイダーのフェデレーションログアウトの動作は、常に同じではありません。プロバイダーによってreturnToパラメーターの扱いは異なり、動作しないプロバイダーもあります。どのように動作するのかを判断するには、ソーシャルプロバイダーの設定を確認してください。

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

  • Auth0エンタープライズのユーザーには通常、SharePoint、いくつかの.NETアプリケーション、いくつかのJavaアプリケーション、Zendeskなど、複数のアプリケーションにSSOが有効化されています。この場合、一般的には、ユーザーがサインアウトするときに、すべてのアプリケーションに対してサインアウトが行われなければなりません。

もっと詳しく