如何延长node.js中相同jwt令牌的到期时间

Posted

技术标签:

【中文标题】如何延长node.js中相同jwt令牌的到期时间【英文标题】:how to extend the expiry time of same jwt token in node.js 【发布时间】:2019-04-18 08:30:58 【问题描述】:

我对 jwt 令牌 node.js 做了很多谷歌,但我无法找到如何在验证期间或以其他方式延长 jwt 令牌的到期时间。

我尝试过刷新令牌,它返回一个新令牌,但我想重用相同的令牌而不是新令牌。

假设如果我们将到期时间设置为 10 分钟,并且如果用户将在第 9 分钟执行某些活动,那么在同一令牌的到期时间上再增加 10 分钟。但是我无法使用 node.js 延长该到期时间,所以请帮助我延长相同 jwt 令牌的时间跨度而不对其进行任何更改,以便用户继续使用相同的 jwt 令牌。

【问题讨论】:

一旦生成令牌,您将无法延长该令牌的时间,因为时间也在此令牌中加密,如果您更改时间令牌也将更改。有关更多详细信息,请查看此jwt.io/#debugger 有一个时间参数。最好的解决方案是使用refresh-token 方法。 但是在刷新令牌的情况下,我们会得到一个新令牌,正如我在或问题中提到的那样。那么,有什么方法可以延长到期时间来获得相同的令牌? 不,不修改令牌是不可能的。 感谢阿比德的宝贵意见。那么,是否有任何可能的方式在另一个令牌机制中继续使用相同的令牌,因为它是客户端的要求。 你在客户端使用什么? 【参考方案1】:

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

var token = jwt.sign(email:'demo@gmail.com', "Stack", 

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

  );

【讨论】:

仔细阅读问题,他想在延长时间内使用相同的令牌。 感谢您的回复。我可以延长同一个令牌的到期时间吗?

以上是关于如何延长node.js中相同jwt令牌的到期时间的主要内容,如果未能解决你的问题,请参考以下文章

快速中间件中的 Node.js JWT 刷新令牌

JWT(JSON Web Token)自动延长过期时间

如何在 jwt laravel 5.3 中处理令牌到期?

如何在 Node JS 中使用 jwt 授权具有不同令牌的所有用户

如何将 JWT 令牌发送到 node.js 服务器

如何解码 Java 生成的 Node.js 中的 jwt 令牌?