Keycloak 会话和令牌超时

Nev*_*evo 5 keycloak keycloak-services

我正在开发一个使用 Keycloak 作为 authN 服务的应用程序。

我想配置我的应用程序,以便访问令牌的有效期为 5 分钟,用户将在 14 天不活动后注销,并且只要至少每 14 天有活动,用户就可以无限期地保持登录状态。

在我的领域设置中,在“访问令牌寿命”下,我有 5 分钟。在“会话”选项卡中,SSO 会话空闲时间设置为 14 天。在同一选项卡中,SSO 会话最大值设置为 9999 天。

当我使用密码授予登录时,我会获得一个过期时间为 9999 天的访问令牌和一个过期时间为 9999 天的刷新令牌。我期望访问令牌的过期时间为 5 分钟,刷新令牌的过期时间为 14 天。

我做错了什么?

dre*_*ash 6

当我使用密码授予登录时,我会获得一个过期时间为 9999 天的访问令牌和一个过期时间为 9999 天的刷新令牌。我期望访问令牌的过期时间为 5 分钟,刷新令牌的过期时间为 14 天。

你的期望是正确的;有关原因的更多详细信息可以在此处阅读。

这似乎是 Keycloak 方面的某种错误(可能溢出?!)。如果您使用 999 天而不是 9999 天,则访问令牌将是 5 分钟,刷新令牌将是您预期的 14 天。

根据我对 Keycloak 18 的测试,您可以使用 5419 天,没有任何问题。

今天19/03/2023和从现在起的 5420 天在19/01/2038我看来基本上是2038 年问题的体现。