6.3. 会话和令牌超时
红帽构建的 Keycloak 包括通过 Realm 设置 菜单中的 Sessions 和 Tokens 选项卡控制会话、Cookie 和令牌超时。
会话标签页
Configuration | 描述 |
---|---|
SSO 会话空闲 | 此设置仅适用于 OIDC 客户端。如果用户不活跃的时间超过这个超时时间,则用户会话无效。当客户端请求身份验证或发送刷新令牌请求时,此超时值重置。Red Hat build of Keycloak 会在会话无效生效前为闲置超时时间添加一个时间窗。请参见本节后面 的备注。 |
SSO Session Max | 用户会话过期前的最长时间。 |
SSO 会话空闲重新成员 | 此设置与标准的 SSO 会话空闲配置类似,但特定于启用了 Remember Me 登录。当用户登录时点 Remember Me 时,可以指定较长的会话闲置超时。此设置是一个可选配置,如果其值没有大于零,它将使用与 SSO Session Idle 配置相同的空闲超时。 |
SSO 会话最大重新成员 | 此设置与标准 SSO Session Max 类似,但特定于 Remember Me 登录。当用户登录时点 Remember Me 时,可以指定较长的会话。此设置是一个可选配置,如果其值大于零,它将使用与 SSO Session Max 配置相同的会话生命周期。 |
客户端会话空闲 | 客户端会话的闲置超时。如果用户不活跃的时间超过这个超时时间,客户端会话将无效,刷新令牌请求会禁止闲置超时。此设置永远不会影响一般的 SSO 用户会话,这是唯一的。请注意,SSO 用户会话是零个或多个客户端会话的父,会为用户登录的每个不同的客户端应用创建一个客户端会话。这个值应该指定比 SSO Session Idle 更短的空闲超时。用户可以在 Advanced Settings client 选项卡中覆盖单个客户端。此设置是一个可选配置,当设为零时,在 SSO Session Idle 配置中使用相同的闲置超时。 |
客户端会话最大数 | 客户端会话以及刷新令牌过期和无效前的最长时间。与上一个选项中所示,此设置永远不会影响 SSO 用户会话,并且应指定比 SSO Session Max 更短的值。用户可以在 Advanced Settings client 选项卡中覆盖单个客户端。此设置是一个可选配置,当设为零时,在 SSO Session Max 配置中使用相同的最大超时。
|
离线会话空闲 | 此设置用于 离线访问。在 Red Hat build of Keycloak 撤销其离线令牌前,会话保持闲置的时间长度。Red Hat build of Keycloak 会在会话无效生效前为闲置超时时间添加一个时间窗。请参见本节后面 的备注。
|
离线会话 Max Limited | 此设置用于 离线访问。如果此标志已启用,则 Offline Session Max 可以控制离线令牌保持活动状态的最长时间,而不考虑用户活动。如果标志为 Disabled,则离线会话永远不会通过 lifespan 过期,仅通过 idle 过期。激活此选项后,可以配置 Offline Session Max (域级别上的global 选项)和 Client Offline Session Max ( 高级设置选项卡中的 特定客户端级别选项)。
|
离线会话最大 | 此设置用于 离线访问,这是红帽构建的 Keycloak 撤销对应的离线令牌前的最长时间。这个选项控制离线令牌激活的最大时间,无论用户活动如何。 |
登录超时 | 登录必须花费的总时间。如果身份验证的时间超过这个时间,用户必须再次启动身份验证过程。 |
登录操作超时 | 在身份验证过程中,用户可以将最大时间用于任意一个页面。 |
Token 标签页
Configuration | 描述 |
---|---|
默认签名算法 | 用于为域分配令牌的默认算法。
|
撤销刷新令牌 | 启用后,红帽构建的 Keycloak 会撤销刷新令牌,并发出客户端必须使用的另一个令牌。此操作适用于执行刷新令牌流的 OIDC 客户端。 |
访问令牌生命周期 | 当红帽构建的 Keycloak 创建 OIDC 访问令牌时,这个值会控制令牌的生命周期。 |
访问令牌 Lifespan 用于 Implicit 流 | 使用 Implicit 流,红帽构建的 Keycloak 不提供刷新令牌。存在一个单独的超时,供 Implicit 流创建的访问令牌使用。 |
客户端登录超时 | 客户端必须在 OIDC 中完成授权代码流前的最长时间。 |
用户初始化的 Action Lifespan | 用户操作权限过期前的最长时间。缩短这个值,因为用户通常会快速响应自创建的操作。 |
默认 Admin-Initiated Action Lifespan | 管理员发送给用户的操作权限前的最长时间。保持这个值,以便管理员可以向离线用户发送电子邮件。管理员可以在发出令牌前覆盖默认超时。 |
电子邮件通知验证 | 指定用于电子邮件验证的独立超时。 |
IdP 帐户电子邮件验证 | 为 IdP 帐户电子邮件验证指定独立超时。 |
忘记密码 | 指定 forgot 密码的独立超时。 |
执行操作 | 指定执行操作的独立超时。 |
对于空闲超时,会话处于活跃状态的两分钟时间窗。例如,当您将超时设置为 30 分钟时,会话过期前将为 32 分钟。
对于一些情况,在一些情况下,在过期前,在一个集群节点上刷新令牌需要这个操作,其他集群节点会错误地将会话视为过期,因为它们还没有收到从刷新节点成功刷新的消息。