2015-03-13 65 views
3

當爲遠程端點獲取令牌時,ADAL.js在IE中不起作用。示例「https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet」建議取消註釋代碼行:「cacheLocation:'localStorage',//爲IE啓用此功能,因爲sessionStorage不適用於本地主機。」但顯然它沒有幫助。在IE和Chrome中並排運行應用程序。 Chrome工作得很好。 IE將此錯誤記錄到控制檯:當爲遠程端點獲取令牌時,ADAL js在IE中不起作用

錯誤:login_required 錯誤描述:AADSTS50058:未提供用戶帳戶標識符。

同樣,只有當ADAL試圖獲取遠程端點(某些其他WebAPI - 已註冊且正常工作)的令牌時纔是這種情況。我創建併發布了https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet/issues/3,但也許有人可以在社區中提出一些答案。希望我不會錯過這裏真正明顯的東西。

所有這一切都爲本地主機完成,但應用程序(客戶端和的WebAPI)在Azure的AD是正確註冊(鉻正常工作)

任何幫助將不勝感激, 感謝

謝謝,

回答

4

Adal.js使用iframe獲取除SPA自己的後端以外的資源的CORS API令牌。 Iframe請求需要訪問瀏覽器的Cookie以使用AAD進行身份驗證並獲取訪問令牌。在IE中運行本地主機時,Cookie不可訪問。您需要完全合格的域名(如http://test.azurewebsite.com)才能從IE中的iframe訪問cookie。示例說明了將應用程序部署到Azure網站的步驟。你可以按照這些來測試IE。 Chrome沒有此限制。

+0

我發現了IE的實際問題:提交了新問題 - http://stackoverflow.com/questions/29290533/adal-js-does-not-work-in-ie-when-acquiring-token-for-remote -endpoint-時,網站開通 – 2015-03-26 23:32:53