Bad “options.expiresIn“ option the payload already has an “exp“ property.

在写vue+nodejs项目的校验token时,出现了这个错误

Error: Bad "options.expiresIn" option the payload already has an "exp" property.
    at Object.module.exports [as sign] (D:\study\myproject1\nodejs\myapp\node_modules\jsonwebtoken\sign.js:133:20)
    at Object.generate (D:\study\myproject1\nodejs\myapp\util\jwt.js:8:25)
    at D:\study\myproject1\nodejs\myapp\index.js:47:34
    at Layer.handle [as handle_request] (D:\study\myproject1\nodejs\myapp\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (D:\study\myproject1\nodejs\myapp\node_modules\express\lib\router\index.js:317:13)
    at D:\study\myproject1\nodejs\myapp\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (D:\study\myproject1\nodejs\myapp\node_modules\express\lib\router\index.js:335:12)
    at next (D:\study\myproject1\nodejs\myapp\node_modules\express\lib\router\index.js:275:10)     
    at next (D:\study\myproject1\nodejs\myapp\node_modules\express\lib\router\route.js:127:14)     
    at next (D:\study\myproject1\nodejs\myapp\node_modules\express\lib\router\route.js:131:14)   

习惯性的找上csdn找百度,结果都没有找到解决办法,最后看了一下,发现是因为jwt.sign的第一参数内存在iat和exp两个属性时就会报错

{
  id: 1,
  username: 'qw123',
  password: '123456',
  phone: '18379131312',
  iat: 1672139741,
  exp: 1672143341
}

解决办法:如果你传入的对象中有iat和exp两个属性,删掉他们就行了,如:delete payload.iat,delete payload.exp

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值