【问题标题】:ADAL js does not work in IE when acquiring token for remote endpoint when website url is added to "Trusted Sites"将网站 url 添加到“受信任的站点”时,获取远程端点的令牌时 ADAL js 在 IE 中不起作用
【发布时间】:2015-05-31 04:22:06
【问题描述】:

我为 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 中的列表。 Chrome 仍然可以工作。

【问题讨论】:

标签: internet-explorer adal


【解决方案1】:

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

【讨论】:

  • 但这有不好的影响。现在我无法使用 IE 登录 Azure 门户。以下是我收到的消息:“如果您使用的是 Internet Explorer,请确保 login.microsoftonline.com 不存在于受信任的站点或 Intranet 区域中。”
【解决方案2】:

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

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

  2. 解决办法试试 a) adal js 打开新窗口并监听 postmessage。 c-d) 同 1。 e) 应用程序进程提交并返回 javascript 以使用不记名令牌执行 postmessage。 f) adal js 保存这个令牌。

【讨论】:

    猜你喜欢
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2021-02-07
    • 1970-01-01
    • 2010-09-20
    • 2010-11-01
    相关资源
    最近更新 更多