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 这两个属性从解密对象里面删除就可以在此进行加密了.就不会报错了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了