由于一些原因,我无法在客户端上使用刷新 token ,是否可以在 ResourceServer 上实现 RemoteTokenServices,以便它检查 token 是否在身份验证服务器上被撤销,但从 JWT token 本身而不是从身份验证服务器获取身份验证信息(例如用户详细信息),就像使用 uuid token 的默认实现一样?
更新:这个question不重复,是关于 JS 和通用的 方法,我对我解释的方法很满意,我想知道是否以及如何使用 spring boot 和 spring security 来实现它。
最佳答案
JWT 由三个部分组成:
- 标题#有关所用算法的信息
- 有效负载#包含数据,这对您的情况很重要
- 签名#基本上是此列表中前两项的哈希
您应该在这里阅读有关 Payload(和 JWT 本身)的信息 https://jwt.io/introduction
长话短说,您可以在有效负载中包含公共(public)数据。如果涉及到提到的 RemoteTokenServices - 当然,您可以这样做,但我不确定这是否是一个好主意。您只需将公共(public)expiration-date
(或expires
)属性添加到有效负载即可。
另外,看看这个:https://jwt.io/
关于java - 是否可以在没有刷新 token 的情况下检查 JWT 有效性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56645722/