セッションの有効期間を設定するには、Auth0 の Dashboard、Management API、または Post-Login Action を使用できます。
Auth0 Dashboard を使用してセッションの有効期間を設定するには、次の手順に従います。
-
Dashboard > Tenant Settings にアクセスし、Advanced ビューを選択します。
-
Session Expiration で、次の項目を設定できます。
| Session Policy | Description |
|---|
| Idle Session Lifetime (Persistent) | 永続セッションが期限切れになるまでの非アクティブ時間の最長値(分単位)。 |
| Idle Session Lifetime (Non-Persistent) | 非永続セッションが期限切れになるまでの非アクティブ時間の最長値(分単位)。 |
| Maximum Session Lifetime (Persistent) | ユーザーがアクティブであっても、永続セッションが存在できる最長時間(分単位)。 |
| Maximum Session Lifetime (Non-Persistent) | ユーザーがアクティブであっても、非永続セッションが存在できる最長時間(分単位)。 |
Auth0 Management API を使用してセッションの有効期間を設定するには、次のようにします。
/api/v2/tenants/settings エンドポイントに対して PATCH リクエストを送信します。
curl --request PATCH \
--url 'https://<your-domain>/api/v2/tenants/settings' \
--header 'Authorization: Bearer MGMT_API_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data '{\
"session_lifetime": SESSION_LIFETIME_VALUE,\
"idle_session_lifetime": IDLE_SESSION_LIFETIME_VALUE,\
"ephemeral_session_lifetime": EPHEMERAL_SESSION_LIFETIME_VALUE,\
"idle_ephemeral_session_lifetime": EPHEMERAL_IDLE_SESSION_LIFETIME_VALUE\
}'
| パラメーター | 説明 |
|---|
session_lifetime | 絶対タイムアウトまでの最大時間(時間単位)。 |
idle_session_lifetime | 非アクティブ状態が続いた場合にセッションが期限切れとなるまでの最大時間(時間単位)。 |
ephemeral_session_lifetime | 絶対タイムアウトまでの最大時間(時間単位)。 |
idle_ephemeral_session_lifetime | 非アクティブ状態が続いた場合にセッションが期限切れとなるまでの最大時間(時間単位)。 |
api.session メソッドと ポストログイン Action を使用すると、ユーザーやコンテキスト固有のロジックに基づいて、ログインごとにデフォルトのテナントセッション設定を動的に上書きできます。
ユースケースの例としては、次のようなものがあります:
-
リスクの高いログインのタイムアウトを短くする
-
信頼されたユーザーや組織に対してタイムアウトを延長する
-
アプリケーションの種類に基づいて Cookie の永続性を調整する
セッションの有効期間を構成するために利用できる api.session メソッドは次のとおりです:
-
api.session.setExpiresAt
-
api.session.setIdleExpiresAt
-
api.session.setCookieMode
api.session メソッドは現在のセッションにのみ適用され、ログインのトランザクション中に呼び出す必要があります。これらのメソッドを使用するには、event.session.id プロパティが利用可能である必要があります。
詳しくは、Sessions with Actions を参照してください。