我有模块来检查令牌的有效期是否已经过期。所以,如果令牌过期,它会自动页面将再次登录。
我已经编码,但他们是错误的,在我的控制台和我的网页加载了。
未捕获的无效令牌错误{消息:“指定的令牌无效”}
列表不工作
- 我看了一些帖子,上面说需要把这个。{标题:真}
- 需要指定本地存储是否具有令牌
这是我的代码:
if (localStorage.getItem("token") === null) {
let token_expired = localStorage.getItem('token');
let decoded = decode(token_expired, { header: true });
let decode_string = decoded["exp"];
var current_time = Date.now() / 1000;
if(decode_string < current_time)
{
localStorage.clear();
}
}
5条答案
按热度按时间hkmswyz61#
我认为你需要改变第一个条件,并为变量使用声明性名称。
vsmadaxz2#
我想你的令牌并不存在。
1.进入开发工具(ctrl +shift + i),然后
1.选择应用程序
1.在应用程序中,转至存储,然后
1.打开本地存储(双击本地存储),然后
1.清除本地存储
wgxvkvu93#
这通常意味着你的jwt格式不正确。获取字符串形式的标记,访问jwt.io并将标记粘贴到其中,以查看主体结构,然后从那里继续调试
kjthegm64#
正如Isaac所建议的,您的jwt格式不正确,因此会抛出错误,从而阻止代码的进一步执行。我建议将您的逻辑放在一个try catch块中,如下所示:
9lowa7mx5#
它可能是后端的一个有效负载,它只是一个字符串,一个数字,所以它不能解码出来。我把后端的有效负载变回一个对象,它工作了。enter image description here