在springboot中使用的是jjwt做的token,但是我想添加一个刷新token的机制,就是过期后,只要没有超过允许的范围内,可以再次生成一个新的token已达到刷新token的目的。
但是在生成新的token时,我需要在旧的token中解析出一些用户信息,用来生成新的token。但是在解析的时候总是抛出过期异常,有没有什么方法可以设置jjwt解析的时候,不做过期的校验
public static String getRefreshToken(String token) throws ParseException {
// 刷新token值
Claims body = Jwts.parser()
//设置签名的秘钥
.setSigningKey(TOKENKEY)
.parseClaimsJws(token)
.getBody(); // 从旧的token中解析出用户信息用于新token的生成
return "";
}
有没有什么方法可以让 Jwts.parser() 在解析时不要再做过期校验了。否则总是抛出异常,没法获取用户信息
回答
你可以在老的 jwt 失效的前一段时间,生成新的 jwt 就可以了。
后端返回新的响应头 new-jwt,前端检测有该响应头,用该新值来替换本地老的 jwt
之后再做请求就是新的 jwt 啦
题主,你好,想要获取到payload,我觉得可以有以下两种方式,但是这两种方式的思考模式是不一样
从jwt的定义出发
在JWT官网的introduction中,我们不难发现&#x