Keycloak 访问令牌过期太早
Keycloak access token expires too soon
我有有效期为 10 小时的访问令牌,但它会在 30 分钟后过期。我用它来调用 Keycloak rest api,它工作了半个小时,但在那之后我得到了 401 - 未经授权。我在 jwt.io 上解码了它,exp 声明是在我获得它后 10 小时。我检查了系统时间,一切似乎都很好。可能是什么问题?
由于您没有共享您的配置,我假设您将“访问令牌寿命”设置为 10 小时(正如您提到的,同样反映在您的 jwt 中)。
为避免重复登录,您需要将SSO会话时间设置为10小时。 (请参阅下图中突出显示的 2 和 3。)
现在访问令牌,如果您使用浏览器来测试您的 api,您可以将其设置为小于 SSO 会话值的任何值。由于会话 cookie 将由 keycloak 自动处理。
但是,如果您正在使用 PostMan 或其他客户端来测试您的 API 并希望使用相同的令牌 10 小时,那么请将您的访问令牌也设置为 10 小时。
详情请参考:https://www.keycloak.org/docs/latest/server_admin/#_timeouts
我有有效期为 10 小时的访问令牌,但它会在 30 分钟后过期。我用它来调用 Keycloak rest api,它工作了半个小时,但在那之后我得到了 401 - 未经授权。我在 jwt.io 上解码了它,exp 声明是在我获得它后 10 小时。我检查了系统时间,一切似乎都很好。可能是什么问题?
由于您没有共享您的配置,我假设您将“访问令牌寿命”设置为 10 小时(正如您提到的,同样反映在您的 jwt 中)。
为避免重复登录,您需要将SSO会话时间设置为10小时。 (请参阅下图中突出显示的 2 和 3。)
现在访问令牌,如果您使用浏览器来测试您的 api,您可以将其设置为小于 SSO 会话值的任何值。由于会话 cookie 将由 keycloak 自动处理。
但是,如果您正在使用 PostMan 或其他客户端来测试您的 API 并希望使用相同的令牌 10 小时,那么请将您的访问令牌也设置为 10 小时。
详情请参考:https://www.keycloak.org/docs/latest/server_admin/#_timeouts