3

获取远程端点的令牌时,ADAL.js 在 IE 中不起作用。示例“ https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet ”建议取消注释代码行:“cacheLocation: 'localStorage', // 为 IE 启用此功能,因为 sessionStorage 不适用于 localhost。 " 但显然它没有帮助。在 IE 和 Chrome 中并排运行应用程序。铬工作得很好。IE 将此错误记录到控制台:

错误:login_required 错误描述:AADSTS50058:未提供用户帐户标识符。

同样,仅当 ADAL 尝试获取远程端点的令牌(其他一些 WebAPI - 已注册且工作正常)时,才会出现这种情况。我创建并发布了https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet/issues/3,但也许有人可以在社区中提出一些答案。希望我在这里没有遗漏一些非常明显的东西。

所有这些都是为 localhost 完成的,尽管应用程序(客户端和 webapi)已在 Azure AD 中正确注册(chrome 工作正常)

任何帮助将不胜感激,谢谢

谢谢,

4

1 回答 1

5

Adal.js 使用 iframe 为 SPA 自己的后端以外的资源获取 CORS API 令牌。iframe 请求需要访问浏览器的 cookie 以通过 AAD 进行身份验证并获取访问令牌。从 IE 在 localhost 中运行时无法访问 Cookie。您需要像http://test.azurewebsite.com这样的完全限定域名才能从 IE 中的 iframe 访问 cookie。示例说明了将应用部署到 Azure 网站的步骤。您可以按照这些来测试 IE。Chrome 没有这个限制。

于 2015-03-16T19:08:06.697 回答