2017-10-20 146 views
0

我有一臺服務器(Spring Boot),在發生成功認證時向我發送帶有JWT的授權。所有這一切都很好。我可以看到授權標題正在Chromes Network標籤中返回。但由於某種原因,當我嘗試使用console.log以角度打印標題時,Authorization標題未顯示出來。 header.get('Authorization')也不能正常工作。角度授權標頭4

login(user) { 
this.http 
    .post(`${this.url}/login`, user) 
    .subscribe((h:Response) => { 
    console.log(h.headers.toJSON()); // Doesn't print Authorization header 
    console.log(h.headers.get('Authorization')); // prints null 
    //this.setToken(h.headers.get('Authorization')); 
    }); 
} 

在此先感謝!

+0

您的服務可能不會返回授權標頭 – Aravind

+0

它正在返回授權標頭。我可以在Chrome的網絡標籤中找到它,並且我使用郵遞員對它進行了雙重檢查。 – Saurin

+1

'res.data.token'或'res.body.token'通常是你會得到一個jwt的帖子並返回一個帖子 –

回答

0

因此,在做了一些更多的研究之後,我遇到了這個帖子https://stackoverflow.com/a/43734000/7770219,它回答了上面的問題。我沒有正確配置我的CorsFilters。這就是爲什麼前端(角度2+)無法訪問持有我的JWT的授權令牌的原因。即使您能夠在郵遞員和Chromes Network選項卡中看到該令牌,但這並不意味着您的前端能夠成功訪問它。爲此,請使用上面提供的鏈接爲其提供訪問權限。