2016-11-14 20 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後,問題再次得到解決...

相關問題