JWT token expiresIn 如何在 feathers 中工作?

How JWT token expiresIn works in feathers?

当我解码我的 JWT 令牌时,我在有效负载中看到

{
  "exp": 1494105589
}

它的值是什么意思?文档说默认的 JWT expiresIn 值为“1d”,但它似乎不是创建令牌后 1 天,甚至不是 1 天(以毫秒为单位)(1000*60*60*24)。最糟糕的是:当我在我的配置中设置 "expiresIn": "90d" 时,这个值没有太大变化。有人可以解释一下吗?

这是一个 unix 时间戳,计算自 1970 年 1 月 1 日以来的秒数 00:00 UTC。 有几个网站可以帮助您转换价值,例如。这个:http://www.unixtimestamp.com/index.php 对于您的时间戳,它显示 05/06/2017 @ 9:19pm (UTC),因此您的令牌有效期为 5 个月。

https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4 解释了 数字日期 用于 exp 声明(以及 nbf(不早于)和 iat(发布于)声明)

https://www.rfc-editor.org/rfc/rfc7519#section-2 定义 数字日期:

A JSON numeric value representing the number of seconds from 1970-01-01T00:00:00Z UTC until the specified UTC date/time, ignoring leap seconds.

除此之外你还说

And the worst: this value not changed much when I set "expiresIn": "90d" in my config.

当您获得令牌时,它是否采用如下结构:

{"access_token": "eyJhbGciOiJ...", "token_type": "bearer", "expires_in": 86399 }

如果是,expires_in 是否显示了正确的值?