如何处理 JWT.exp 时间? [复制]
Posted
技术标签:
【中文标题】如何处理 JWT.exp 时间? [复制]【英文标题】:How to handle JWT.exp time? [duplicate] 【发布时间】:2019-01-27 04:24:55 【问题描述】:console.log('DEBUG::+jwtDecode(token).exp', +jwtDecode(token).exp); //1534820211
console.log('DEBUG::try', new Date(+jwtDecode(token).exp).toISOString());
//DEBUG::try 1970-01-18T18:20:20.211Z
我有一个价值为1534820211
的令牌,当我尝试使用toISOString()
转换它时,它给了我一年1970-01-18T18:20:20.211Z
。
但是当我在jwt.io 解码相同的令牌,并将鼠标悬停在exp
上时,它显示2018-08-21....
,这是巨大的差异。我还尝试将jwtDecode(token).exp
传递给moment
并使用格式,仍然在1970xxxx
中返回我的日期时间。
moment(jwtDecode(token).exp).format();
【问题讨论】:
【参考方案1】:您拥有的值是 距纪元的秒数。
javascript Date
构造函数(以及 moment
函数)接受以 从纪元开始的毫秒为单位的值。将数字乘以 1000,您的代码应该可以正常工作:
var exp = 1534820211 * 1000;
console.log(new Date(exp));
【讨论】:
以上是关于如何处理 JWT.exp 时间? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
BlockingQueue的InterruptedException如何处理? [复制]