6.3. 会话和令牌超时


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

Session 标签页

Sessions Tab

Configuration描述

SSO 会话 Idle

此设置仅适用于 OIDC 客户端。如果用户不活跃的时间超过这个超时时间,则用户会话无效。当客户端请求身份验证或发送刷新令牌请求时,这个超时值会重置。Red Hat build of Keycloak 会在会话无效生效前为闲置超时时间添加一个时间窗。请参见本节稍后 的备注

SSO 会话最大

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

SSO Session Idle Remember Me

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

SSO Session Max Remember Me

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

客户端会话 Idle

客户端会话的闲置超时。如果用户不活跃的时间超过这个超时时间,客户端会话将无效,刷新令牌请求会禁止闲置超时。此设置永远不会影响一般的 SSO 用户会话,这是唯一的。请注意,SSO 用户会话是零个或多个客户端会话的父,会为用户登录的每个不同的客户端应用创建一个客户端会话。这个值应该指定比 SSO Session Idle 更短的空闲超时。用户可以在 Advanced Settings client 选项卡中覆盖单个客户端。此设置是一个可选配置,当设为零时,在 SSO Session Idle 配置中使用相同的闲置超时。

客户端会话最大

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

离线会话 Idle

此设置用于 离线访问。在 Red Hat build of Keycloak 撤销其离线令牌前,会话保持闲置的时间长度。Red Hat build of Keycloak 会在会话无效生效前为闲置超时时间添加一个时间窗。请参见本节稍后 的备注

offline Session Max Limited

此设置用于 离线访问。如果此标志已启用,则 Offline Session Max 可以控制离线令牌保持活动状态的最长时间,而不考虑用户活动。如果标志为 Disabled,则离线会话永远不会通过 lifespan 过期,仅通过 idle 过期。激活此选项后,可以配置 Offline Session Max (域级别上的global 选项)和 Client Offline Session Max ( 高级设置选项卡中的 特定客户端级别选项)。

offline Session Max

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

登录超时

登录必须花费的总时间。如果身份验证需要更长的时间,用户必须再次启动身份验证过程。

登录操作超时

在身份验证过程中,用户可以在任何页面上花费最长时间。

令牌标签页

Tokens Tab

Configuration描述

默认签名算法

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

撤销刷新令牌

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

访问令牌生命周期

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

访问令牌生命周期用于 Implicit 流

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

客户端登录超时

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

用户初始操作生命周期

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

默认管理员初始操作生命周期

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

电子邮件验证

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

IdP 帐户电子邮件验证

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

忘记密码

为强制密码指定独立超时。

执行操作

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

注意

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

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.