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

新手上路,请多包涵

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

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

                        expiresIn: '24h' // expires in 24 hours

                         });

在上面的代码中,我已经给出了 24 小时。我不希望我的令牌过期。为此该怎么办?

原文由 Jagadeesh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 775
2 个回答

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

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

expiresIn、notBefore、受众、主题、发行者没有默认值。这些声明也可以直接在有效负载中分别提供 exp、nbf、aud、sub 和 iss,但您不能在两个地方都包含它们。

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

原文由 pedrofb 发布,翻译遵循 CC BY-SA 4.0 许可协议

以天为单位设置过期时间:试试这个

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

           expiresIn: '365d' // expires in 365 days

      });

“expiresIn”应该是代表时间跨度的秒数或字符串,例如:“1d”、“20h”、

文档: jsonwebtoken

原文由 Ved 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题