jwt 检查令牌是否过期
- 作者: 爱漂亮爱段子
- 来源: 51数据库
- 2022-10-20
问题描述
我已经像这样配置了令牌:
I've configured the token like this:
jwt.sign(
{
user: pick(user, ['_id', 'username'])
},
secret,
{
expiresIn: '2m'
}
);
但是当我想检查令牌是否过期时,这段代码不起作用
But when I want to check if the token was expired, this code doesn't work
function isAuthenticated() {
const token = localStorage.getItem('token');
const refreshToken = localStorage.getItem('refreshToken');
try {
decode(token);
const { exp } = decode(refreshToken);
if (exp < (new Date().getTime() + 1) / 1000) {
return false;
}
} catch (err) {
return false;
}
return true;
}
问题出在这部分:
if (exp < (new Date().getTime() + 1) / 1000) {
return false;
}
new Date().getTime() + 1)/1000 = 1531335468.113
new Date().getTime() + 1) / 1000 = 1531335468.113
exp = 1531334595
exp = 1531334595
因为不知道JWT用的是什么格式的时间...
Because I don't know what format of time uses JWT...
我该如何解决这个问题?
How can I resolve this?
谢谢!
推荐答案
如果有人想知道,这就是答案
This is the answer if someone want to know
if (Date.now() >= exp * 1000) {
return false;
}
推荐阅读
热点文章
检查拆分键盘
0
带有“上一个"的工具栏和“下一个"用于键盘输入AccessoryView
0
Activity 启动时显示软键盘
0
UIWebView 键盘 - 摆脱“上一个/下一个/完成"酒吧
0
在 iOS7 中边缘滑动时,使键盘与 UIView 同步动画
0
我的 iOS 应用程序中的键盘在 iPhone 6 上太高了.如何在 XCode 中调整键盘的分辨率?
0
android:inputType="textEmailAddress";- '@' 键和 '.com' 键?
0
禁用 iPhone 中键盘的方向
0
Android 2.3 模拟器上的印地语键盘问题
0
keyDown 没有被调用
0
