微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Keycloak返回已过期的令牌

如何解决Keycloak返回已过期的令牌

我正在尝试使用密钥斗篷获取访问令牌,

但是尝试使用由密钥斗篷发出的令牌时出现错误Token is expired

例如,如果我使用curl获得令牌:

curl -u account:___mysecret___ -k
-d "grant_type=password&username=testuser&password=__some__pass"
-H "Content-Type:application/x-www-form-urlencoded" 
http://localhost:8080/auth/realms/testRealm/protocol/openid-connect/token

并使用jwt.io解码返回的令牌,我可以看到exp日期是昨天的日期。

如何获得可用的访问令牌?

解决方法

在“领域设置”中检查“令牌”选项卡!您可以在其中配置会话超时和令牌有效性。

如果设置了某些内容,请进一步检查“客户端” =>“设置” =>“高级设置”。

然后请检查在您的Keycloak主机上配置的时间和时区。

,

我认为您在 Windows 上使用带有 docker 桌面的 keycloak。

您的 hyperV 的本地时间不再与您的主机同步。

如果您在 docker 容器中写了:date,则日期是错误的。

所以keycloak的token类型已经过时了

因此,重新启动 hyperV 会重新同步 docker 容器中的本地时间。

更多信息:How to make sure docker's time syncs with that of the host?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。