You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JSON Web Token生成令牌时遇TypeError: option expires is invalid错误求助

问题排查与解决

你的错误根源是jwt.sign的参数传递语法错误,和expiresIn的取值无关。

看你提供的代码:

jwt.sign({ id: this._id }, process.env.JWT_SECRET),
    {
      expiresIn: '2 days',
    }

这里你在jwt.sign(...)后面多写了一个右括号),导致{ expiresIn: '2 days' }这个配置对象没有被作为第三个参数传入jwt.sign函数,反而变成了一个独立的无效表达式,JWT库因此无法正确识别配置选项,抛出option expires is invalid错误。

修正后的代码

把多余的右括号删掉,让配置对象作为jwt.sign的第三个参数:

jwt.sign(
  { id: this._id }, 
  process.env.JWT_SECRET,
  {
    expiresIn: '2 days',
  }
)

这样无论你用'2 days'、'1h'还是数字形式的秒数(比如234234),都能正常生效。

内容的提问来源于stack exchange,提问作者TheKuder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 01:59:56