java处理token,【Java】使用jjwt生成的token值,怎么解析明文不做过期校验处理??...

在SpringBoot中使用jjwt生成的token并希望实现刷新机制。问题在于解析旧token获取用户信息时遇到过期异常。有两种解决思路:1. 在jwt失效前提前生成新jwt;2. 捕获ExpiredJwtException并从异常中获取claims。提供了一段代码示例展示如何手动解析JWT的payload获取信息。
摘要由CSDN通过智能技术生成

在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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值