【发布时间】:2017-03-27 20:25:27
【问题描述】:
我正在使用 AngularJS (1.6.1) 并创建了一个 AuthorizationInterceptor。
当我将 local_storage 中的 access_token 添加到“授权”标头时,它不会在 Chrome 中更新。 Chrome 似乎“缓存”了请求
本地存储中的令牌发生变化,但当 Chrome 执行实际请求时,它始终使用相同的令牌(使用开发工具、邮递员和 Fiddler 进行检查...)
this.request = function (request) {
request.headers = request.headers || {};
if (window.localStorage.getItem('access_token') !== '') {
alert("Adding header in request \n \n" + window.localStorage.getItem('access_token'));
request.headers.Authorization = 'Bearer ' + window.localStorage.getItem('access_token');
}
return request;
};
我尝试了以下方法:
this.request = function (request) {
request.headers = request.headers || {};
if (window.localStorage.getItem('access_token') !== '') {
//alert("Adding header in request \n \n" + window.localStorage.getItem('access_token'));
request.headers.TEST= 'Bearer ' + window.localStorage.getItem('access_token');
}
return request;
};
现在我不再设置 Authorization 标头,而是设置“TEST”标头。
测试标头现在具有正确的“access_token”但仍有“授权”标头?我不知道它是从哪里来的。没有编程添加标题。
我也不知道 Chrome 从哪里得到这个访问令牌。这是昨天之一。它也不在请求对象中...... 此外,在使用 Chrome 设置删除所有保存的域信息后,Chrome 仍然设法使用旧令牌。
如果我重新安装 Chrome,错误就解决了。直到再次发生…… Firefox、Edge 和 Internet Explorer 中不存在该错误
有人遇到过类似的错误吗?
我越来越绝望了
真诚地, 布莱希特
【问题讨论】:
-
我在 angular 和 chrome 上有同样的问题 :(
标签: angularjs google-chrome authorization jwt bearer-token