java - 是否可以在没有刷新 token 的情况下检查 JWT 有效性?

标签 java spring-boot spring-security oauth jwt

由于一些原因,我无法在客户端上使用刷新 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/

相关文章:

java - 实例化列表 VS 代理列表 VS 检查空引用?

java - 异常不是 Callable 接口(interface)的缺点吗?

java - import org.springframework.test.context.junit4.SpringRunner无法解析

java - 如何加载属性文件中的所有键/值对

java - 摩尔斯电码转英语 : Character type is not Comparable with String type

java - 解析错误 - Java 去掉作为命令行参数发送的 JSON 字符串中的引号 (")

spring-boot - 带有突变 Spring Boot 的 Graphql

java - 没有 Spring Security 记住我以编程方式登录时创建的 cookie

java - 设置基于 Spring security 的 OAuth2 服务器

java - Spring - 登录后执行一些操作