- Idle Session Lifetime: ユーザーの が とやり取りしない状態が続いた場合に、セッションの有効期限が切れるまでの期間です。セルフサービスプランで 3 日、Enterprise plan で 100 日を超える場合は、システムの上限が適用されます。
- Maximum Session Lifetime: ユーザーのアクティビティに関係なく、再度ログインが必要になるまでの期間です。セルフサービスプランで 30 日、Enterprise plan で 365 日を超える場合は、システムの上限が適用されます。
- Idle Session Lifetime の上限を 3 日、Require log in after の上限を 30 日に設定します。
-
ユーザーがログインすると、入力した値がそのユーザーのセッションに設定されます。
- ユーザーが 3 日間の Idle Session Lifetime 内にアクティブであれば、セッションの有効期間はさらに 3 日延長されます。以後も 3 日ごとにユーザーがアクティブである限り、Maximum Session Lifetime の上限に達するまで、セッションの有効期間はさらに 3 日ずつ延長されます。この時点で、ユーザーは再度ログインする必要があります。
- ユーザーが 3 日間アクティビティのない状態だと、自動的にログアウトされます。
- ユーザーのログイン中に既存のセッション有効期間の上限を延長した場合、新しい設定は既存のセッションが終了し、ユーザーが再度ログインするまで反映されません。
- ユーザーのログイン中に既存の有効期間の上限を短縮した場合、新しい設定はユーザーの次回のアクティビティ時にただちに反映されます。これにより、セキュリティ上の目的でセッション有効期間を短縮できます。
アプリケーション固有のログアウト URL
/oidc/logoutエンドポイントを呼び出すときは、必ずclient_idをクエリパラメータとして送信する必要があります。また、id_token_hintURL は、そのアプリケーションで許可されているログアウト URL の一覧に含まれている必要があります。- これにより、
client_idに対応するアプリケーションだけでなく、定義されているすべてのアプリケーションについて、テナント全体の Auth0 セッションが終了します。client_idを渡すのは、/logoutエンドポイントに対して、ログアウト URL のホワイトリストをどこで参照するかを示すためです。
- 非アクティブタイマー: Auth0 セッションの最大アイドル時間に合わせて、React SDK ラッパーにローリングタイマーを追加します。トークンがアプリケーションに返されるたびに、タイマーをリセットします。
-
タイムアウトモーダル: タイマーが有効期限の 60 秒前になったら、ユーザーにログアウトするかセッションを継続するかの選択を求めるタイムアウトモーダルをレンダリングする必要があります。
- セッションを継続する: ユーザーがセッションの継続を選択した場合は、
getTokenSilently()メソッドを使用して、現在操作しているページからリダイレクトすることなく新しいトークンを要求します。 - ログアウトする: ユーザーがログアウトを選択した場合は、Auth0 セッションも確実に終了するよう、
logout()メソッドを呼び出す必要があります。 - アイドルタイムアウト: アイドルタイムアウトに達した場合でも、直ちに何らかのアクションを行う必要はありません。ユーザーが別のタブではまだアクティブである可能性があるため、この場合の動作はユーザーをログアウトさせることではありません。
- その他の方法としては、モーダルにログインボタンを追加する、window.onfocus イベントを使って
getTokenSilently()をトリガーする、またはユーザーをランディングページにリダイレクトすることなどがあります。
- セッションを継続する: ユーザーがセッションの継続を選択した場合は、