获取远程端点的令牌时,ADAL.js 在 IE 中不起作用。例子 ”https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet”建议取消注释代码行:“cacheLocation:'localStorage',//为 IE 启用此功能,因为 sessionStorage 不适用于本地主机。”但显然这没有帮助。在 IE 和 Chrome 中并行运行应用程序。 Chrome 工作正常。IE 将此错误记录到控制台:
错误:需要登录
错误描述:AADSTS50058:未提供用户帐户标识符。
同样,只有当 ADAL 尝试获取远程端点(其他一些 WebAPI - 已注册且工作正常)的令牌时才会出现这种情况。我创建并发布https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet/issues/3 https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet/issues/3,但也许有人可以在社区中提出一些答案。希望我在这里没有遗漏一些非常明显的东西。
所有这些都是针对 localhost 完成的,尽管应用程序(客户端和 webapi)已在 Azure AD 中正确注册(chrome 工作正常)
任何帮助将不胜感激,
谢谢
Thanks,
Adal.js 使用 iframe 获取 SPA 自己的后端以外的资源的 CORS API 令牌。 iframe 请求需要访问浏览器的 cookie 以通过 AAD 进行身份验证并获取访问令牌。当您从 IE 中在 localhost 中运行时,无法访问 Cookie。您需要完全合格的域名,例如http://test.azurewebsite.com http://test.azurewebsite.com从 IE 中的 iframe 访问 cookie。示例解释了将应用程序部署到 Azure 网站的步骤。您可以按照这些来测试 IE。 Chrome 没有这个限制。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)