6.3. 会话和令牌超时


红帽构建的 Keycloak 包括通过 Realm 设置 菜单中的 SessionsTokens 选项卡控制会话、cookie 和令牌超时。

sessions 标签页

Sessions Tab

Configuration描述

SSO 会话空闲

此设置仅用于 OIDC 客户端。如果用户不活跃的时间超过这个超时时间,则用户会话会无效。当客户端请求身份验证或发送刷新令牌请求时,这个超时值会重置。红帽构建的 Keycloak 在会话无效前为空闲超时添加时间窗口。请参见本节后续部分中的 备注

SSO 会话 Max

用户会话过期前的最长时间。

SSO 会话空闲的 Remember Me

此设置与标准 SSO 会话空闲配置类似,但特定于启用了 Remember Me 的登录。用户可以在登录时点 Remember Me 时指定较长的会话闲置超时。此设置是一个可选配置,如果其值不大于零,它会使用与 SSO Session Idle 配置相同的空闲超时。

SSO 会话 Max Remember Me

此设置类似于标准的 SSO 会话 Max,但特定于 Remember Me 登录。用户可以在登录时点 Remember Me 时指定较长的会话。此设置是一个可选配置,如果其值不大于零,它会使用与 SSO Session Max 配置相同的会话生命周期。

客户端会话空闲

为客户端会话闲置超时。如果用户不活跃的时间超过这个超时时间,客户端会话会无效,刷新令牌请求会恢复闲置超时。此设置不会影响常规 SSO 用户会话,而这是唯一的。请注意,SSO 用户会话是零个或多个客户端会话的父对象,为每个不同的客户端创建一个客户端会话。这个值应该指定一个比 SSO Session Idle 较短的空闲超时。用户可以在 高级设置 客户端选项卡中为单个客户端覆盖它。此设置是可选配置,当设为零时,在 SSO Session Idle 配置中使用相同的空闲超时。

客户端会话最大

客户端会话和刷新令牌过期和无效前的最长时间。与上一个选项一样,此设置永远不会影响 SSO 用户会话,并且应指定比 SSO Session Max 更短的值。用户可以在 高级设置 客户端选项卡中为单个客户端覆盖它。此设置是可选配置,当设为零时,在 SSO 会话 Max 配置中使用相同的 max 超时。

离线会话空闲

此设置用于 离线访问。在红帽构建的 Keycloak 撤销其离线令牌前,会话保留的时间长度。红帽构建的 Keycloak 在会话无效前为空闲超时添加时间窗口。请参见本节后续部分中的 备注

离线会话最大有限

此设置用于 离线访问。如果此标志 已启用,离线会话 Max 可以控制离线令牌保持活动状态的最长时间,无论用户活动如何。如果标志为 Disabled,则离线会话永远不会由生命周期过期,仅空闲。激活此选项后,可以配置 离线会话 Max (域级别上的全局选项)和 Client Offline Session Max (高级设置 选项卡中的 特定客户端级别选项)。

离线会话 Max

此设置用于 离线访问,这是红帽构建的 Keycloak 撤销对应的离线令牌前的最长时间。这个选项控制离线令牌保持活跃的最大时间,无论用户活动是什么。

登录超时

登录必须经过的总时间。如果身份验证的时间比这个时间更长,用户必须再次启动身份验证过程。

登录操作超时

在身份验证过程中,用户可以在一个页面中花费最大时间。

令牌标签页

Tokens Tab

Configuration描述

默认签名算法

用于为域分配令牌的默认算法。

撤销刷新令牌

启用 后,红帽构建的 Keycloak 会撤销刷新令牌,并发出客户端必须使用的另一个令牌。此操作适用于执行刷新令牌流的 OIDC 客户端。

访问令牌生命周期

当红帽构建的 Keycloak 创建 OIDC 访问令牌时,这个值会控制令牌的生命周期。

访问令牌 Lifespan 用于 Implicit 流

使用 Implicit 流时,红帽构建的 Keycloak 不提供刷新令牌。对于由 Implicit Flow 创建的访问令牌存在单独的超时。

客户端登录超时

客户端必须在 OIDC 中完成授权代码流前的最长时间。

User-Initiated Action Lifespan

用户操作权限过期前的最大时间。保持这个值更短,因为用户通常会快速对自创建的操作做出反应。

默认 Admin-Initiated Action Lifespan

管理员将操作权限发送给用户前的最大时间。保持这个值长,以便管理员向离线用户发送电子邮件。管理员可以在发布令牌前覆盖默认超时。

电子邮件验证

指定电子邮件验证的独立超时。

IdP 帐户电子邮件验证

指定 IdP 帐户电子邮件验证的独立超时。

忘记密码

为忘记密码指定独立超时。

执行操作

指定执行操作的独立超时。

注意

只有在持久性用户会话没有激活时,才会应用以下逻辑:

对于闲置超时,存在两分钟的会话处于活跃状态的时间窗口。例如,当您将超时设置为 30 分钟时,会话过期前将有 32 分钟。

对于一些场景,集群和跨数据中心环境需要在过期前在一个集群节点上刷新令牌,而其他集群节点错误地认为会话过期,因为它们还没有从刷新节点收到有关成功刷新的消息。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.