我按照this後的思路進行了操作。我只是做了一些改變,比如使用jwt載體令牌認證在同一端口上運行ASP.net核心和Angular 2前端。使用ADAL.js訪問Web API時獲取「invalid_token」
我正在使用ADAL.js來驗證Azure AD,並且此過程似乎正常工作。我從Azure AD獲取令牌並將其保存在本地存儲中。
當我使用這是越來越保存在本地存儲打電話給我API我碰到角2 401
呼叫到的WebAPI都位於同一個端口上的令牌。
var token = localStorage["adal.access.token.keye1b88e53-810a-474d-93af-bb98c956d01e"];
console.log(token);
let headers = new Headers({
'Authorization': 'Bearer ' + token, 'Accept': 'application/json; odata.metadata=minimal'
});
let options = new RequestOptions({ headers: headers });
return this.http.get('https://localhost:44375/api/values', options)
.map((response: Response) => response.json()).subscribe((val) => {
console.log(val);});
這個調用回來與401與此消息
承載誤差= 「INVALID_TOKEN」,ERROR_DESCRIPTION = 「令牌是過期」
任何想法讚賞。謝謝!
我沒有使用示例中提到的adal-angular。由於adal-angluar與Angular-2不兼容。我們只是使用Adal.js進行身份驗證。這就是爲什麼我設置每個傳出呼叫的授權標題的原因。而且,即使我正在更新令牌併發送請求,我仍然看到相同的錯誤。 – Pickle
現在,當我續訂令牌時,我看到 '承載錯誤=「invalid_token」,error_description =「觀衆無效」 – Pickle
這是'aud'聲明與接收方所期望的不同的結果。你用什麼運行時進行驗證? –