ベストプラクティス
ログアウトの動作は、ユーザーがどのセッションを終了しようとしているかを明確にする必要があり、ログアウト後に視覚的な確認を表示することが望ましいです。- ユーザーがログアウトを開始したとき、どのセッションを終了するべきか?
- セッション終了の確認として、ユーザーにどのような情報を通知するべきか?
- ログアウト完了後、ユーザーはどこにリダイレクトされるべきか?
- ユーザーがログアウトプロセスをトリガーしない場合、セッションをどれくらいの間継続したいか?
- エンドユーザーは1つのアプリケーションセッションからログアウトする際に、すべてのアプリケーションセッションからログアウトする必要があるか?
- 組織のを使用したセッションもログアウト時に終了する必要があるか?
あるアプリケーションのログアウト機能によって、他のアプリケーションが使用しているAuth0 SSOセッションが終了された場合、ユーザーによって確定されていないトランザクションの作業内容が失われる可能性があります。このような状況に対処する機能を必ず追加し、作業内容が失われる可能性を最小限に抑えてください。
ログアウト後のユーザーの送信先
ユーザーはログアウト後、任意の特定の場所にリダイレクトされます。この場所はログアウトのリダイレクトURL として指定され、を介してパラメーターとして定義することができます。 ログアウト後のユーザーのリダイレクトに使用するURLは、オープンリダイレクトのセキュリティ脆弱性を軽減するために、Dashboardで許可リストに登録する必要があります。テナントまたはアプリケーションレベルで許可リストに登録することができます。ログアウトしたユーザーがリダイレクトを通じてアプリケーションに戻され、アプリケーションがそのユーザーの有効なセッションを維持しているIDプロバイダーにリダイレクトした場合、ユーザーは、アプリケーションにサイレントにログインされます。これは、ユーザーにとっては、ログアウトが正しく実行できなかったように見えるかもしれません。
セッションの自動終了
すべてのユーザーがログアウトプロセスを手動でトリガーするわけではないため、Auth0では、セッション時間があまりに長くならないよう、セッションのタイムアウト も設けています。この設定は、Auth0 Dashboardで行うことができます。シングルログアウト
フェデレーションログアウトを行う場合、シングルログアウト(SLO)も合わせて実施することをお勧めします。これには主に2つのアプローチがあります。SLOは、システムを複雑にし、開発・メンテナンスの手間を増やします。実施する前に、SLOが本当に必要かどうかを検討してください。
短命トークン
ベストプラクティス
レート制限と低パフォーマンスを避けるために、Auth0テナントへの呼び出しをしすぎないようにしてください。トークンが期限切れで、ユーザーがアクションを起こした場合のみ、新しいトークンを要求することがベストプラクティスです。これにより、単に開いているが使用されていないアプリケーションが新しいトークンを継続的にポーリングするのを回避できます。エンタープライズ接続の一環として、接続パラメーターを使ってユーザーを自動的にユーザー独自のIdPに転送している場合は、フェデレーションログアウトも行わないと、この技術が壊れる可能性があります。