JWT令牌如何过期在羽毛中起作用?

时间:2017-02-05 23:05:15

标签: jwt feathersjs

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

{
  "exp": 1494105589
}

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

1 个答案:

答案 0 :(得分:2)

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

https://tools.ietf.org/html/rfc7519#section-4.1.4 解释说明了一个数字日期用于exp声明(以及nbf(不是之前)和iat(发布于)声明)

https://tools.ietf.org/html/rfc7519#section-2 定义数字日期

  

一个JSON数值,表示从1970-01-01T00:00:00Z UTC到指定的UTC日期/时间的秒数,忽略闰秒。

旁边你说

  

最糟糕的是:当我设置" expiresIn"时,这个值没有太大变化:   " 90D"在我的配置中。

当你拿到令牌时,它是否有这样的结构:

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

如果是,expires_in会显示正确的值吗?