我有访问令牌,该令牌应有效期为10个小时,但该令牌将在30分钟后失效。我用它来调用Keycloak rest api,它工作了半个小时,但之后我得到401-未经授权。我在jwt.io上对其进行了解码,并且exp索赔是在我获取它之后的10个小时。我检查了系统时间,一切似乎都很好。可能是什么问题?
答案 0 :(得分:1)
由于您尚未共享配置,所以我假设您将“访问令牌寿命”设置为10小时(与您提到的jwt相同)。
为避免一次又一次登录,您需要将SSO会话时间设置为10小时。 (请参见下图中突出显示的2和3。)
现在要访问令牌,如果您使用浏览器测试api,则可以将其设置为小于SSO会话值的任何值。由于会话cookie将由密钥斗篷自动处理。
但是,如果您使用PostMan或其他客户端来测试您的API,并希望使用相同的令牌10个小时,则将访问令牌也设置为10个小时。
有关更多详细信息,请参见:https://www.keycloak.org/docs/latest/server_admin/#_timeouts