为什么多个访问令牌在Keycloak中起作用?

时间:2019-04-30 11:55:31

标签: spring-boot keycloak

我正在检查Keycloak并试图保护用Springboot编写的REST服务。我在Github上找到了一个样本,它起作用了。问题是,一旦我通过刷新令牌获得了新的访问令牌,仍然可以使用旧的访问令牌。

我为Keycloak配置了Springboot适配器,并尝试通过Web门户为相关客户端在Keycloak中将访问令牌寿命设置为两分钟。

这种行为正常吗?任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:1)

这种行为完全正常。

访问令牌持续到令牌中设置的到期时间。 访问令牌寿命短,刷新令牌寿命更长。

没关系-您可以通过刷新令牌生成任意数量的访问令牌。所有令牌都将起作用,直到达到其ttl为止。

答案 1 :(得分:1)

对于密钥斗篷,它不会使先前发行的访问令牌无效。您可以通过查看“会话”标签来验证这一点:

enter image description here

在我的情况下,我从2个不同的浏览器中使用administrator_user登录,然后又收到2个access_token,这两个都是有效的。

enter image description here

由于访问令牌是JWT,它是自包含的,并且具有到期时间字段。它一直有效,直到达到到期时间。

我可以看到一个用例,当您想在多个设备上使用相同的用户帐户时。例如。想起gmail(不是说它使用keycloak,而是一个通用示例)。当您登录到桌面gmail网站时,您不想退出移动gmail应用。