2

我为 ADAL js 项目 ( https://github.com/AzureAD/azure-activedirectory-library-for-js/issues/102 ) 提交了一个错误,但想咨询社区 - 也许有人知道为什么会这样所以。标题几乎说明了一切:当网站 URL 添加到“受信任的站点”时,ADAL js 在获取远程端点的令牌时在 IE 中不起作用。我创建了两个测试 webapp:webapp 和 webapi,并发布到 Azure 网站。这些示例基于https://github.com/AzureAD/azure-activedirectory-library-for-js/issues/102。WebApp:https ://sergtestapp2.azurewebsites.net/#/Home,WebAPI:https ://sergtestapi.azurewebsites.net. 只要你有微软账户,任何人都可以试用这些应用,因为这个应用是多租户的。一旦这个问题得到回答,我将消灭它们。

很简单,导航到 WebApp 并单击登录。ADAL js 将处理身份验证部分并重定向到 MS 登录页面。登录 -> 导航到“转到列表”并添加几个项目。现在,如果您打开 IE 或 Chrome -> 两个“转到列表”应该在列表中显示相同的项目。但是,如果您将 webapp 添加到 IE 的“受信任的站点” - 您可以不再“查看/添加到” IE 中的列表。铬仍然可以工作。

4

2 回答 2

0

我可以使用 IE 11(本地 Intranet 或受信任的站点)重现相同的问题。如果您无法从受信任或 Intranet 列表中删除您的网站,您可以将https://login.microsoftonline.com(或您的租户登录页面)添加到您的受信任站点列表中。我现在以这种方式解决了这个问题......

于 2015-04-15T18:12:11.660 回答
0

图书馆没有解决方案。也许可以通过某种“代理”来解决它。我有 2 个可能有效或无效的解决方案,需要更多探索。

  1. 解决方案尝试:a) ADALjs 重定向到应用程序 url,而不是可信的 azure 广告登录。b) 然后应用程序通过请求代码将用户重定向到 azure 广告登录来请求应用程序令牌。c) 用户输入其凭证。d)用户提交 e)应用程序处理提交并在 cookie 中返回不记名令牌。(需要检查这是否正确) f)adaljs 然后从 azure ad login 获取此令牌

  2. 解决方案尝试 a) adal js 打开新窗口并监听 postmessage。cd) 同 1. e) 应用程序处理提交并返回 javascript 以使用不记名令牌执行 postmessage。f) adal js 保存这个令牌。

于 2016-11-21T15:32:24.847 回答