はじめに
Auth0のUniversal Loginを使っているアプリケーションに一度ログインをするとAuth0とユーザーエージェント(大抵の場合ブラウザだと思います)の間で認証済みのセッションが確立します。
そのため次にアプリケーションにログインするときにはUniversal Loginを呼び出してもIDとパスワードの入力を求められることなくログインが成功します。
Auth0はこの認証済みのセッションの有効期限をテナント単位に任意の期間に設定することができるのでやってみました。
テナント設定
Auth0の管理画面のテナント設定メニューを開きます。
表示されたテナント設定メニューのAdvancedタブを選択します。
Advancedタブの中にLog In Session Managementという設定があるので
ここのInactivity timeoutとRequire log in afterという項目を設定することでセッションの有効期限を変更することができます。
Inactivity timeout
Inactivity timeoutはユーザーが再ログイン(再アクセス)してくる間隔が、どれくらいの期間までならIDとパスワードの入力を省略するかの期間設定です。最大で3日間(4320分)までの設定が可能です。
ユーザーがここで設定した期間内に継続して再ログインをする限りはIDとパスワードの入力は省略され続けます。
逆にユーザーがこの期間を超えて再ログインをしてこない場合は、次にログインするときにIDとパスワードの入力が求められるようになります。
Require log in after
Require log in afterは継続的なログインの有無とは関係なく、強制的にIDとパスワードの入力を求めらるようになるまでの期間設定です。
IDとパスワードを入力してのログイン後にInactivity timeoutに設定した期間内で定期的に再ログインをしていたとしても、ここで設定した期間を超えるとIDとパスワードの入力を求められるようになります。
最大30日(43200分)まで設定が可能で、Inactivity timeoutより長い期間を設定しなければなりません。
おわりに
Log In Session Managementの2項目を設定することで自身のポリシーに沿った認証セッションの有効期限を設定することができます。
デフォルトではInactivity timeoutが4320分(3日間)、Require log in afterが10080分(7日間)に設定されていると思います。もしもこの値がポリシーに合わない場合は変更してみてください。


