非永続セッション
永続セッションでは、ユーザーがブラウザーを閉じた後、同じデバイスでブラウザーを開くと、セッションが維持されたままになります。ユーザーエクスペリエンスを拡張しながらアクセスを安全に保護するために、非永続セッションはブラウザーが閉じたときにセッションのクッキーを無効化します。
ブラウザーに関する制限事項
一部の状況では、非永続セッションがテナント設定で適用できないことがあります。これには以下のような例が挙げられます。
ユーザーがブラウザーでセッション復元設定を有効化しているため、セッションの復元でセッションのクッキーも復元される。
ユーザーがタブを閉じた後、ブラウザーのウィンドウを閉じていないため、アイドル有効期限や絶対有効期限でセッションが終了するまでセッションのクッキーが消去されない。
セッション
セッションはブラウザーのクッキーとサーバー上のセッションレコードで構成されます。非永続セッションではクッキーが維持されることなく、テナントのタイムアウトが設定されるため、ユーザーがデバイスから手動でログアウトする必要はありません。
セッションのライフライムは、システムが長期のセッションをどれくらい長く維持するかを決定し、テナントごとに構成できます。セッションの絶対有効期限は、セッションが作られたときに定義されます。ユーザーセッションに非永続の設定を有効にするか、ブラウザーが閉じた後でもセッションが継続することを許可できます。絶対有効期限や非永続の設定は、Auth0 DashboardまたはManagement APIを使って調整することができます。詳細については、「セッションライフライムの設定を構成する」をお読みください。
クッキー
Auth0プラットフォームは、セッション、多要素認証、デバイスという3種類のクッキーを使用します。Auth0テナントを構成すると、これらはすべて非永続に変わります。テナントのタイムアウトはセッションの期限切れをトリガーします。
非永続セッションを有効にすると、認可サーバーとのやり取りで以下のクッキーがセッションクッキーとして発行されます。
auth0
/auth0_compat
auth0-mf
/auth0-mf_compat
did
/did_compat
詳細については、「Authentication APIクッキー」をお読みください。
テナントの構成
テナントは以下の2通りの方法でセッションを扱うように構成できます。
Persistent(永続):ブラウザーが閉じた後でもセッションクッキーが維持されます。
Non-Persistent(非永続):セッションクッキーは維持されません。ブラウザーは、ブラウザーのセッションが終わるまで、セッションクッキーを維持します。詳細については、IETF Datatrackerに掲載の「HTTP State Management Mechanism」をお読みください。
Dashboardでこれらの設定を構成するには、以下を行います。
[Dashboard]>[Tenant Settings(テナントの設定)]に移動して、[Advanced(詳細設定)]ビューを選択します。
[Session Expiration(セッションの有効期限)]セクションまでスクロールして、[Idle Session Lifetime(アイドルセッションライフタイム)]と[Maximum Session Lifetime(最大セッションライフタイム)]に希望する設定を入力し、[Save(保存)]を選択します。
設定 説明 Idle Session Lifetime(アイドルセッションライフタイム) 認可サーバーとのやり取りがなくなってから、ユーザーのセッションが失効するまでの時間(分)です。エッセンシャルプランとプロフェッショナルプランでは4,320分(3日)、エンタープライズプランでは144,000分(100日)を超えると、システム制限によって置き換えられます。 Maximum Session Lifetime(最大セッションライフタイム) アクティビティにかかわらず、ユーザーに再ログインを求めるまでの時間(分)です。デベロッパープランとデベロッパープロプランでは43,200分(30日)、エンタープライズプランでは525,600分(365日)を超えると、システム制限によって置き換えられます。
Management API
Management APIを使用すると、非永続セッションを有効化するだけでなく、セッションのライフタイムやアイドルセッションライフタイムに値を設定したり、セッションクッキーのプロパティを設定したりできます。詳細については、「Management APIのテナント更新エンドポイント」をご覧ください。