6.3. セッションおよびトークンのタイムアウト
Red Hat build of Keycloak には、Realm settings メニューの Sessions タブと Tokens タブにセッション、Cookie、およびトークンのタイムアウトの制御が含まれています。
Sessions タブ
設定 | 説明 |
---|---|
SSO Session Idle | この設定は OIDC クライアントのみを対象としています。ユーザーがこのタイムアウトよりも非アクティブである場合は、ユーザーセッションが無効になります。このタイムアウト値は、クライアントが認証を要求するか、更新トークン要求を送信するときにリセットされます。Red Hat build of Keycloak は、セッションの無効化が有効になる前に、アイドルタイムアウトに期間を追加します。このセクションで後述する 注記 を参照してください。 |
SSO Session Max | ユーザーセッションが期限切れになるまでの最大時間。 |
SSO Session Idle Remember Me | この設定は標準の SSO セッション ID 設定に似ていますが、Remember Me が有効になっているログインに固有の設定です。ユーザーは、ログイン時に Remember Me をクリックすると、セッションのアイドルタイムアウトが長く指定できます。この設定は任意の設定であり、その値がゼロより大きい場合、SSO Session Idle 設定と同じアイドルタイムアウトを使用します。 |
SSO Session Max Remember Me | この設定は標準の SSO セッション Max と似ていますが、Remember Me ログインに固有です。ユーザーは、ログイン時に Remember Me をクリックするとセッションが長く指定できます。この設定は任意の設定であり、その値がゼロより大きい場合、SSO Session Max 設定と同じセッションライフスパンを使用します。 |
Client Session Idle | クライアントセッションのアイドルタイムアウト。このタイムアウトよりも長くユーザーの非アクティブ状態が続く場合、クライアントセッションは無効になり、更新トークンの要求に基づきアイドルタイムアウトが増加します。この設定が、固有の一般的な SSO ユーザーセッションに影響することはありません。SSO ユーザーセッションは 0 個以上のクライアントセッションの親であり、ユーザーがログインするクライアントアプリごとに 1 つのクライアントセッションが作成されることに注意してください。この値には、SSO Session Idle よりも短いアイドルタイムアウトを指定する必要があります。ユーザーは、Advanced Settings クライアントタブで、個々のクライアントに対してこれをオーバーライドできます。この設定は任意の設定であり、ゼロに設定すると SSO セッション ID 設定で同じアイドルタイムアウトを使用します。 |
Client Session Max | クライアントセッションの最長時間、および更新トークンの有効期限が切れて無効になるまでの時間。前のオプションと同様に、この設定は SSO ユーザーセッションに影響しません。また、SSO Session Max よりも短い値を指定する必要があります。ユーザーは、Advanced Settings クライアントタブで、個々のクライアントに対してこれをオーバーライドできます。この設定はオプションの設定であり、ゼロに設定すると SSO Session Max の設定と同じアイドルタイムアウトが使用されます。
|
Offline Session Idle | この設定は オフラインアクセス 用です。Red Hat build of Keycloak がオフライントークンを取り消すまでに、セッションがアイドル状態に留まる時間。Red Hat build of Keycloak は、セッションの無効化が有効になる前に、アイドルタイムアウトに期間を追加します。このセクションで後述する 注記 を参照してください。
|
Offline Session Max Limited | この設定は オフラインアクセス 用です。このフラグが Enabled の場合、ユーザーアクティビティーにかかわらず、Offline Session Max がアクティブ状態を維持する最大時間を制御できます。フラグが Disabled の場合、オフラインセッションはライフスパンによって期限切れになることはなく、アイドル状態によってのみ期限切れになります。このオプションをアクティブにすると、Offline Session Max (レルムレベルのグローバルオプション) と Client Offline Session Max (詳細 Advanced Settings タブにある特定のクライアントレベルオプション) を設定できます。
|
Offline Session Max | この設定は オフラインアクセス 用であり、Red Hat build of Keycloak が対応するオフライントークンを取り消すまでの最大時間です。このオプションは、ユーザーアクティビティーに関係なく、オフライントークンがアクティブな状態のままになる最大期間を制御します。 |
Login timeout | ログインにかかる合計時間。認証にかかる時間よりも長い場合は、ユーザーは認証プロセスを再度開始する必要があります。 |
Login action timeout | ユーザーが、認証プロセス中に 1 つのページで費やすことができる最大時間。 |
tokens タブ
設定 | 説明 |
---|---|
Default Signature Algorithm | レルムにトークンを割り当てるために使用されるデフォルトのアルゴリズム。
|
Revoke Refresh Token | Enabled の場合、Red Hat build of Keycloak は更新トークンを取り消し、クライアントが必ず使用しなければならない別のトークンを発行します。このアクションは、更新トークンフローを実行する OIDC クライアントに適用されます。 |
Access Token Lifespan | Red Hat build of Keycloak が OIDC アクセストークンを作成するとき、この値でトークンの有効期間を制御します。 |
Access Token Lifespan For Implicit Flow | Implicit Flow では、Red Hat build of Keycloak は更新トークンを提供しません。Implicit Flow によって作成されるアクセストークンに別のタイムアウトが存在します。 |
Client login timeout | クライアントが OIDC で Authorization Code Flow を終了するまでの最大時間。 |
User-Initiated Action Lifespan | ユーザーのアクションパーミッションの有効期限が切れるまでの最大時間。ユーザーが通常、自己作成のアクションに迅速に対応するので、この値を短くしてください。 |
Default Admin-Initiated Action Lifespan | 管理者によってユーザーに送信されるアクションパーミッションの最大時間。この値を長く維持して、管理者がオフラインユーザーに電子メールを送信できるようにします。管理者は、トークンを発行する前にデフォルトのタイムアウトを上書きできます。 |
Email Verification | 電子メール検証の独立したタイムアウトを指定します。 |
IdP account email verification | IdP アカウントの電子メール検証の独立したタイムアウトを指定します。 |
Forgot password | パスワードを忘れた場合の独立したタイムアウトを指定します。 |
Execute actions | 実行アクションの独立したタイムアウトを指定します。 |
以下のロジックは、永続ユーザーセッションがアクティブではない場合にのみ適用されます。
アイドルタイムアウトの場合は、セッションがアクティブである期間が 2 分のウィンドウになります。たとえば、タイムアウトが 30 分に設定されている場合、セッションの有効期限が切れるまでに 32 分になります。
このアクションは、クラスター間および複数のデータセンター環境で必要です。この場合、トークンは有効期限前に 1 つのクラスターノードで短期間に更新され、他のクラスターノードは更新されたノードから正常な更新に関するメッセージを受信していないため、セッションが期限切れと誤って考慮されます。