当我解码我的JWT令牌时,我在有效载荷中看到
{
"exp": 1494105589
}
它的价值意味着什么? Docs说默认的JWT expiresIn值是“1d”,但它似乎不是创建令牌后的第1天,甚至不是ms中的1天(1000 * 60 * 60 * 24)。最糟糕的是:当我在配置中设置“expiresIn”:“90d”时,这个值没有太大变化。有人可以解释一下吗?
答案 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会显示正确的值吗?