JWT令牌(指定了无效的令牌)

时间:2018-10-15 02:43:25

标签: reactjs jwt

我有模块来检查令牌的到期日期是否已经到期。因此,如果令牌过期,它将自动重新进入该页面。

我已经对其进行了编码,但是在控制台中它们是错误的,并且我的页面正在加载。

  

未捕获的InvalidTokenError。{消息:“指定了无效的令牌”}

Image

列表不起作用

  • 我读了一些帖子,说需要放这个。 {header:true}
  • 需要指定本地存储是否具有令牌

这是我的代码:

        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();
        }
    }

3 个答案:

答案 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)

我认为您的令牌不存在。

  1. 进入开发工具(ctrl +shift + i)然后

  2. 选择应用

  3. 在应用程序内部转到存储

  4. 打开本地存储(双击本地存储)然后

  5. 清除本地存储