如何延长正常访问令牌中的到期时间

时间:2018-12-27 13:56:36

标签: node.js jwt

我一直在阅读有关JWT的内容,我正在尝试在服务器中实现它。我已经有一个API可以接收用户并发送带有到期时间的JWT。好吧...那我还有另一种验证令牌的方法。 有什么方法可以用来延长普通Access令牌的到期时间?我读到还有另一种称为“刷新令牌”的令牌...但是它超出了我的需要...我只想增加过期时间,仅此而已

 jwt.sign({ user }, SECRET , { expiresIn: '5m'} ); // HOW I CREATE THE TOKEN
 jwt.verify(req.token, SECRET , (error, data) => {} <---- // HERE IS WHERE I WOULD LIKE TO INCREASE 

2 个答案:

答案 0 :(得分:1)

正如您所说,JTW的到期时间是在生成并签名JWT时设置的。您不能更改现有令牌,例如更改到期时间,因为更改之后,签名将不再正确。能够进行此类更改将使JWT利用的安全性失效。

我建议您阅读一下JWT的工作原理。请查看以下文章的Signature部分:Introduction to Json Web Tokens - jwt.io

您能做什么?只需发布一个新的JWT。

答案 1 :(得分:1)

您将不得不再次重新创建令牌。令牌已签名,使其具有唯一性。如果您更改了到期时间并且神奇地变为有效,那么它将破坏令牌的目的。

我可以尝试了解是什么原因阻止您在要增加exp时间的地方生成新令牌吗?