Oauth 2.0 如何在KeyClope中指定刷新令牌的寿命

Oauth 2.0 如何在KeyClope中指定刷新令牌的寿命,oauth-2.0,access-token,openid-connect,keycloak,refresh-token,Oauth 2.0,Access Token,Openid Connect,Keycloak,Refresh Token,KeyClope刷新令牌的生存时间为1800秒: “刷新到期时间”:1800 如何指定不同的过期时间?在KeyClope管理UI中,只能指定访问令牌寿命: 刷新令牌生存期由SSO会话空闲设置控制。30分钟=30*60=1800秒(刷新过期值)在v11.0.3中,在客户端的高级设置下,没有SSO会话空闲设置(不确定这些设置是否刚刚被重命名、移动或是管理界面中其他地方可用的领域设置),因此从默认客户端设置开始,您可以指定客户端会话最大值来控制刷新令牌生存期,而无需更改其他持续时间设置(访问令牌生存期

KeyClope刷新令牌的生存时间为1800秒:

“刷新到期时间”:1800

如何指定不同的过期时间?在KeyClope管理UI中,只能指定访问令牌寿命:


刷新令牌生存期由SSO会话空闲设置控制。30分钟=30*60=1800秒(刷新过期值)

在v11.0.3中,在客户端的高级设置下,没有SSO会话空闲设置(不确定这些设置是否刚刚被重命名、移动或是管理界面中其他地方可用的领域设置),因此从默认客户端设置开始,您可以指定客户端会话最大值来控制刷新令牌生存期,而无需更改其他持续时间设置(访问令牌生存期将按预期继续)。证据:调整设置并检查刷新\u将到期。刷新令牌的寿命由领域设置的“令牌”选项卡中的“客户端会话最大值”参数定义

也可以在“客户端设置”页面的“高级设置”菜单下的单个客户端级别上覆盖它

正如KeyClope文档中所述:

客户端会话最大值

刷新令牌之前的最长时间为 过期失效。它允许指定较短的 刷新令牌的超时时间大于会话超时时间。这是可能的 在单个客户端上重写。这是一种可选配置,并且 如果未设置为大于0的值,则使用相同的空闲超时设置 在SSO会话Max配置中


正如委员会在评论中指出的,缺少其他重要因素:


实际上,它要复杂得多

TL;DR可以推断,
刷新令牌寿命
将等于(
SSO会话空闲
客户端会话空闲
SSO会话最大
,和
客户端会话最大
)中的最小值


在花了一段时间研究这一点之后,现在回顾这条线索,我觉得前面的答案很短,无法详细解释正在发生的事情(有人甚至可能认为他们实际上是错的)

现在让我们假设只有
SSO会话空闲
SSO会话最大值

  • SSO Session Max
    SSO Session Idle
    在这种情况下,
    刷新令牌生存期
    SSO Session Idle
    相同。为什么?因为如果应用程序在
    SSO会话空闲时间内处于空闲状态,则用户将注销,这就是为什么刷新令牌绑定到该值的原因。每当应用程序请求新令牌时,
    刷新令牌生存期
    SSO会话空闲
    倒计时值将再次重置
  • SSO Session Max
    实际上,它要复杂得多。每个字段之间有许多关系,您可以在3个不同的位置覆盖它。。要说清楚,Keyclope是地狱。但对我来说,我必须将
    客户端会话空闲时间
    设置为0,
    客户端会话最大时间
    设置为0,
    SSO会话空闲时间
    设置为999天。之后,我可以使用
    access token Lifespan
    控制访问令牌超时,并使用
    SSO Session Max
    刷新令牌超时。我花了1个小时处理所有变量<代码>SSO会话空闲
  • 访问令牌寿命
    将以具有较低空闲量的为准time@KubaŠimonovský将SSO会话空闲设置为999的问题您基本上不知道该说什么就失去了空闲功能。。这应该是正式的documentation@KubaŠimonovský是的,我同意那里的文档有点缺乏,人们必须花很多时间在这些字段上“玩”来理解它(谢谢你的详细答案!)谢谢,不客气