はじめに
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日間)に設定されていると思います。もしもこの値がポリシーに合わない場合は変更してみてください。