- Idle Session Lifetime: ユーザーの が とやり取りしない場合に、セッションが期限切れになるまでの期間です。セルフサービスプランでは 3 日、エンタープライズプランでは 100 日を超えると、システムの制限が優先されます。
- Maximum Session Lifetime: ユーザーのアクティビティに関係なく、再度ログインが必要になるまでの期間です。セルフサービスプランでは 30 日、エンタープライズプランでは 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 の一覧に含まれている必要があります。- これにより、そのテナント全体の Auth0 セッション、つまり
client_idで指定したアプリケーションだけでなく、定義済みのすべてのアプリケーションのセッションが終了します。client_idを渡すのは、/logoutエンドポイントに、ログアウト URL の許可リストをどこで参照すべきかを示すためです。
- 非アクティブタイマー: Auth0 セッションの最大アイドル有効期間に合わせて、React SDK ラッパーにローリングタイマーを追加します。トークンがアプリケーションに返されるたびに、タイマーをリセットします。
-
タイムアウトモーダル: 有効期限の 60 秒前になったら、ユーザーにログアウトするかセッションを継続するかを確認するタイムアウトモーダルを表示します。
- セッションを継続する: ユーザーがセッションの継続を選択した場合は、
getTokenSilently()メソッドを使用して、現在操作中のページからリダイレクトすることなく新しいトークンを要求します。 - ログアウトする: ユーザーがログアウトを選択した場合は、Auth0 セッションも確実に終了するように
logout()メソッドを呼び出す必要があります。 - アイドルタイムアウト: アイドルタイムアウトに達しても、直ちに何らかの操作を行う必要はありません。ユーザーが別のタブではまだアクティブである可能性を考慮し、ログアウトさせる動作にすべきではありません。
- その他の方法としては、モーダルにログインボタンを追加する、window.onfocus イベントを使用して
getTokenSilently()をトリガーする、またはユーザーをランディングページにリダイレクトすることが挙げられます。
- セッションを継続する: ユーザーがセッションの継続を選択した場合は、