ログアウト(B2C)
ログアウトとは、必要でなくなったときに認証済みセッションを終了するアクションです。これによって、権限を持たない第三者によるセッションの「乗っ取り」の可能性を最小限に抑えます。これを行うには通常、ユーザーに提供するユーザーインターフェイスでログアウトオプションをプロビジョニングします。ユーザーのログイン時には複数のセッションタイプ(ローカルアプリケーションセッション、Auth0セッション、サードパーティによるIDプロバイダーセッションなど)を作成することができます。ユーザーが[Logout(ログアウト)]オプションをクリックするときに、これらのセッションのうちどれを終了する必要があるかを決定しなければなりません。
ベストプラクティス
ログアウトの動作は、ユーザーがどのセッションを終了しようとしているかを明確にする必要があり、ログアウト後に視覚的な確認を表示することが望ましいです。
ログアウト時の動作を設定する場合は、以下の点を考慮する必要があります。
ユーザーがログアウトを開始したとき、どのセッションを終了するべきか?
セッション終了の確認として、ユーザーにどのような情報を通知するべきか?
ログアウト完了後、ユーザーはどこにリダイレクトされるべきか?
ユーザーがログアウトプロセスをトリガーしない場合、セッションをどれくらいの間継続したいか?
ユーザーのログイン時に作成できるセッションには様々なタイプがあることを考えると、ログアウトにもいくつかのタイプが考えられます。ローカルアプリケーションログアウトはアプリケーションとのセッションを終了しますが、一方でAuth0ログアウトはAuth0セッションを終了します。独自のIDPを使用している組織の場合、フェデレーションログアウト戦略を検討し、適宜実装することをお勧めします。グローバルまたはシングルログアウト(SLO)はAuth0セッションを終了するだけでなく、Auth0セッションを使うアプリケーションにログアウト要求/通知を送信します。
アプリケーションで提供される機能やシングルサインオン(SSO)などの機能を使用することは、どのタイプのログアウトが必要なのか、そして、どのような確認通知をユーザーに画面表示する必要があるのかについての決定に役立ちます。どのオプションを選択する場合でも、実装するログアウトプロセスに応じて、どのセッションが終了されているのか、さらに、いつログアウトプロセスが完了したのかを、ユーザーに明確に示す必要があります。
ログアウト後のユーザーの送信先
ユーザーはログアウト後、任意の特定の場所にリダイレクトされます。この場所はログアウトのリダイレクトURLとして指定され、Auth0 Dashboardを介してパラメーターとして定義することができます。
ログアウト後のユーザーのリダイレクトに使用するURLは、オープンリダイレクトのセキュリティ脆弱性を軽減するために、Dashboardで許可リストに登録する必要があります。テナントまたはアプリケーションレベルで許可リストに登録することができます。
セッションの自動終了
すべてのユーザーがログアウトプロセスを手動でトリガーするわけではないため、Auth0では、セッション時間があまりに長くならないよう、セッションのタイムアウトも設けています。この設定は、Auth0 Dashboardで行うことができます。
プロジェクト計画ガイド
当社では、PDF形式の計画ガイダンスを提供しています。ダウンロードして、推奨される戦略の詳細を参照してください。
B2C IAM Project Planning Guide