使用纯javascript fetch函数检查JWT是否已过期且在发出获取数据请求之前在授权标头中传递的最佳方法是什么?
const headers = new Headers({
'Content-Type': 'application/json',
Authorization: 'Bearer GrabbedFromParamQueryString'
});
const settings = {
method: 'GET',
headers: headers
};
fetch('/info/user, settings).then(response => {
console.log(response.json());
});
我知道在jQuery中你可以预先检查它是否已经过期然后生成一个新令牌然后继续原始请求。有这样的东西,如果有这样的Javascript提取如何?
任何帮助都将不胜感激。
答案 0 :(得分:0)
我能够通过检查响应的状态来实现这一目标,如果响应已过期,则会给出答案。一旦我获得了该信息,就会创建一个处理错误函数并执行下一组操作以获取新的刷新和令牌ID。
答案 1 :(得分:0)
尝试
console.log(response.json());
if(response.msg=== "Token is expired"){
alert('token is already expired, login again')
}
});
这就是我对jwt扩展令牌所做的事情,因为它们会产生这样的响应。因此,在您的情况下,如果您使用了其他一些命名类型(例如“消息”),请继续使用它循环浏览您的响应。希望对您有所帮助。