报错如图:
原因是传入的token与保存的token不一致,最开始以为在线时间较长导致token失效,结果重启了好几次都会报错。最后才发现是传入验证的token和登录时保存的token不一致。
我输出了一下传入的token,发现是带双引号的,这种格式不正确。
最后加一个JSON.parse
函数转化就成功了!
--------------------------------------------分割线--------------------------------------------------
如上那样解决本来都可以正常运行了,但是隔了几天,有次打开又开始报上述错误…,又找到新的解决办法。
在后端全局搜索setSigningKey
,找到如下代码片段,这里需要更改一下
改为如下代码片段
public static Claims parseJWT(String jwt){
Claims claims;
SecretKey secretKey = generalKey();
try {
claims = Jwts.parser()
.setSigningKey(secretKey) // 设置标识名
.parseClaimsJws(jwt) //解析token
.getBody();
} catch (ExpiredJwtException e) {
claims = e.getClaims();
}
return claims;
}
就解决了报错问题!