Keycloak 访问 token 过早过期

标签 keycloak access-token keycloak-rest-api

我的访问 token 应该在 10 小时内有效,但它会在 30 分钟后过期。我用它来调用 Keycloak rest api,它可以工作半小时,但之后我得到 401 - 未经授权。我在 jwt.io 上解码了它,exp 声称是在我获得它后 10 小时。我检查了系统时间,一切似乎都很好。可能是什么问题呢?

最佳答案

由于您尚未共享您的配置,我假设您将“访问 token 生命周期”设置为 10 小时(与您提到的 jwt 相同)。
为避免反复登录,需要将SSO session 时间设置为10小时。 (请参阅下图中突出显示的 2 和 3。)
现在来访问 token ,如果您使用浏览器来测试您的 api,您可以将其设置为小于 SSO session 值的任何值。由于 session cookie 将由 keycloak 自动处理。
但是,如果您使用 PostMan 或其他客户端来测试您的 API 并希望使用相同的 token 10 小时,则将您的访问 token 也设置为 10 小时。
enter image description here
更多详情请引用:https://www.keycloak.org/docs/latest/server_admin/#_timeouts

关于Keycloak 访问 token 过早过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62640241/

相关文章:

如果 token 中没有角色信息,则通过 token 交换进行的 keycloak 模拟将无法工作

spring - Keycloak角色映射

android - 如何在 Android 客户端中使用 Keycloak OpenId 进行 oAuth

php - 是否可以将Keycloak用作IDP,将PHP应用用作SP?

sharepoint-2013 - 使用客户端身份的 Sharepoint 2013 提供商托管应用程序存在访问 token 问题

android - 登录或注册微信

spring-boot - 是否可以在没有管理员凭据的情况下创建 key 斗篷用户?

node.js - 带有访问 token 的 Oauth2 GET 请求在 NodeJS 中返回 403

node.js - 使用 Keycloak Rest API 将用户添加到客户端角色

oauth - 如何通过 API 在 keycloak 中忘记密码