如何设置 json web 令牌过期和验证

Posted

技术标签:

【中文标题】如何设置 json web 令牌过期和验证【英文标题】:How to set json web token expire and validate 【发布时间】:2021-03-01 04:51:37 【问题描述】:

问题是在比较两个日期时,令牌将在大约 17 小时后过期,这是错误的,因为在生成时它应该只多 1 分钟。

如果有人可以帮助我,我非常感激

【问题讨论】:

【参考方案1】:

看起来您的代码假定属性的过期和发布时间定义为毫秒(60000 毫秒 = 60 秒 = 1 分钟)。

但是,JWT 规范声明 exp 和 iat 使用 'Seconds since the Epoch.在这里查看答案:https://***.com/a/39926886/12086953

因此,只需将您的第一个代码 sn-p 中的值更改为在 60 秒内到期,而不是 60000 秒(不到 17 小时),如下所示:

const myToken = jwt.sign( id: '12345677', username: 'emailtest@uu.com' , 'mysecretjsonwebtoken',  expiresIn: 60, audience: '12345677' )

【讨论】:

以上是关于如何设置 json web 令牌过期和验证的主要内容,如果未能解决你的问题,请参考以下文章

Json Web 令牌不会过期

如何验证令牌是不是过期

如何跨不同 API 对 JSON Web 令牌 (JWT) 进行身份验证?

当我们不再使用它时,为 json web token 设置无效

我是不是需要使用快速会话以及护照和 JSON Web 令牌进行身份验证?

在流明 jwt 令牌中设置过期时间