Token验证失败:JWT signature does not match locally computed signature. 问题解决

本文详细解析了JWT签名不匹配的问题,主要聚焦于令牌验证错误的常见原因。首先介绍了当生成token的密钥与验证密钥不一致时会导致的异常,然后深入讨论了因令牌内容错误,如额外的引号,所引发的签名验证失败。通过实例分析,提供了debug检查和修复令牌格式的建议,帮助开发者诊断并解决JWT签名验证问题。
摘要由CSDN通过智能技术生成

问题
异常提示:JWT signature does not match locally computed signature. JWT validity cannot be asserted and should not be trusted.

中文意思是:JWT签名与本地计算的签名不匹配。无法断言JWT有效性,不应信任JWT有效性。

解决
出现这种异常的情况有:

1、生成token时用的密钥和验签时用的密钥不一致。KEY_SERCRET不同

通过打断点的方式debug检查对比两个地方的密钥是否一致。

2、验签时使用的令牌不对。通过打断点的方式debug检查,生成的令牌和回传的令牌是否一致。

通过cookie传递数据时需注意传递的token的格式是否正确,token是一串字符串且不带双引号,不能使用JSON.stringify()方法进行格式转换!!!

我遇到的情况是第2种,就是被验签的令牌是错误的,因为回传令牌中多了一对单引号导致的此异常。需要debug看内存中传输的值才能看出来。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值