jwt二次加密失败原因(Bad “options.expiresIn“ option the payload already has an “exp“ property.)

在写vue+nodejs项目的校验token时,出现了次错误
然后想了想问题所在:
第一次加密的时候使用jwt.sign(value,秘钥,{}),会返回一个字符串,然后当前端跳转别的发送请求时,会将这个token在此发送给后端(nodejs)
后端中间间拦截到这次请求之后会对这个token进行一个解密,解密之后的对象为{user_name:admin,password:1,iat: 1672139741,exp: 1672143341}
问题就出在了这里,我们在第一次加密的时候加密对象仅仅是{user_name:admin,password:1}没有解密之后的 iat: 1672139741,exp: 1672143341 这两个属性
总结:遇到这样的问题我们只需要将 iat: 1672139741,exp: 1672143341 这两个属性从解密对象里面删除就可以在此进行加密了.就不会报错了

posted @ 2023-02-28 10:36  帅到被人砍的阿豪  阅读(171)  评论(0)    收藏  举报