NodeJs jsonwebtoken 计算“iat”和“exp”

Aar*_*lai 7 node.js jwt

我在 NodeJs 和 Express 中设置了一个 API,我使用 JWT 进行身份验证,效果非常好。我无法弄清楚的一件事是如何确定与 IAT 值相关的确切日期和时间。我知道它基于毫秒,但我无法将其与日期联系起来。官方 JWT 规范说:( https://tools.ietf.org/html/rfc7519#page-10 )

4.1.6. “iat”(发布于)声明 “iat”(发布于)声明标识了 JWT 的发布时间。此声明可用于确定 JWT 的年龄。它的值必须是一个包含 NumericDate 值的数字。此声明的使用是可选的。

例如:

"iat": 1479203274,
"exp": 1479205074,
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

谢谢

Rad*_*eve 7

您可以通过执行以下操作从以毫秒为单位的 unix 时间戳构建日期

var date = new Date( timestamp )

因此,在您的情况下,请尝试执行以下操作:

var date = new Date( parseInt("1479203274") * 1000 )

*1000是到秒转换为毫秒。在parseInt因为JavaScript的自动转换快递到是没有必要的number。这只是为了让它在意图上被清除。