我有模块来检查令牌的到期日期是否已经到期。因此,如果令牌过期,它将自动重新进入该页面。
我已经对其进行了编码,但是在控制台中它们是错误的,并且我的页面正在加载。
未捕获的InvalidTokenError。{消息:“指定了无效的令牌”}
列表不起作用
这是我的代码:
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();
}
}
答案 0 :(得分:0)
这通常意味着您的jwt格式错误。以字符串形式获取令牌,访问jwt.io并将令牌粘贴到令牌中,以查看其主体结构如何,然后从此处继续调试
答案 1 :(得分:0)
我认为您需要更改第一个条件,并为变量使用声明性名称。
const storedToken = localStorage.getItem("token");
if (storedToken){
let decodedData = decode(storedToken, { header: true });
let expirationDate = decodedData.exp;
var current_time = Date.now() / 1000;
if(expirationDate < current_time)
{
localStorage.removeItem("token");
}
}
答案 2 :(得分:0)
我认为您的令牌不存在。
进入开发工具(ctrl +shift + i)然后
选择应用
在应用程序内部转到存储
打开本地存储(双击本地存储)然后
清除本地存储