如何将jwt令牌到期时间设置为nodejs中的最大值?

我不希望我的令牌过期,并永久有效。

var token = jwt.sign({email_id:'123@gmail.com'}, "Stack", { expiresIn: '24h' // expires in 24 hours }); 

在上面的代码,我已经给了24小时..我不希望我的代币过期。 这方面应该做些什么?

JWT的exp声明是可选的。 如果令牌没有它,则认为它不会过期

根据https://www.npmjs.com/package/jsonwebtoken的文档, expiresIn字段也没有默认值,所以只是省略它。

expiresIn, notBefore,audience,subject,issuer 没有默认值 。 这些声明也可以分别直接用exp,nbf,aud,sub和iss在有效载荷中提供,但不能同时包含在这两个地方。

 var token = jwt.sign({email_id:'123@gmail.com'}, "Stack", {}); 

要以天为单位设置expirey时间,请尝试此操作

  var token = jwt.sign({email_id:'123@gmail.com'}, "Stack", { expiresIn: '365d' // expires in 365 days }); 

“expiresIn”应该是秒数或string,表示时间范围,例如:“1d”,“20h”,