2016-11-14 75 views
0

我正在使用AngularJS(1.6.1)并创建了AuhthorizationIntercepter。不记名的令牌在请求中未得到更新(Chrome)

当我将local_storage中的access_token添加到'Auhtorization'标头时,它不会在Chrome中进行更新。看来Chrome的chached“请求

在本地存储令牌的变化,但在Chrome确实它总是使用同样的实际要求(与开发工具,邮差和提琴手检查...)

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

现在我没有设置授权头了,但“测试”头。

enter image description here

测试头现在有正确的“ACCESS_TOKEN”,但还是有一个“Auhthorization”头?我不知道它来自哪里。它没有编程添加标题。

我也不知道Chrome从哪里获取此访问令牌。这是昨天之一。它不在请求对象中... 同样,在使用Chrome设置删除域中保存的每个信息后,Chrome仍然设法使用旧的令牌。

enter image description here

如果我重新安装Chrome的bug解决。直到它再次发生... 该错误不存在于Firefox,Edge和Internet Explorer中

有人有类似的错误吗?
我越来越绝望

诚恳, 布莱希特

回答

0

看来我解决它通过使用一个工厂,而不是我的拦截器服务。

编辑:问题已经消失了5个月,5个月后突然停止了再次工作。相同的行为:纠正本地存储中的access_token,并在请求(js代码)中添加正确的令牌,但在实际的XHR调用中发送了错误的令牌。重新安装Chrome后,问题再次得到解决...