首页 > 解决方案 > 通过 AAD 的 SSO 在 IE 模式下使用 MS Edge(铬)失败

问题描述

我们已从 NAM 身份提供程序转移到 AzureAD。MS Edge_C 用于Enterprise Mode Site List强制应用程序使用 IE 模式。

在新会话中,用户被从我们的应用程序重定向 (GET) 到login.microsoftonline.com通过 SAML。选择帐户后,将另一个重定向发送到公司身份验证服务,该服务成功验证了用户。SAML 响应通过 POST 发送到应用程序。

这就是它应该的样子,这就是 NAM 的样子(它直接对用户进行身份验证)。但是自从切换到 AzureAD 后,最终返回到应用程序的 POST 被破坏了。我们的应用程序收到一个没有 SAML 相关参数的 GET 请求,因此 SSO 失败。没有 IE 模式它可以工作,但由于它是一个遗留应用程序,我们必须使用 IE 模式。

直接在 IE11 中的相同过程按预期工作。

有谁知道 AzureAD 的响应有什么问题?似乎有些东西激怒了 Edge_C 的响应,这就是为什么将“非 IE 模式”(login.mso.com)更改为“IE 模式”(应用程序)会丢弃 POST 并进行 GET。

如果有任何想法可以帮助我们解决这个问题,我将不胜感激。

标签: azure-active-directorymicrosoft-edge-chromium

解决方案


经过长时间的调试,结果证明解决方案非常简单:

这可确保 SSO 服务在与触发 SSO 的应用程序相同的浏览器实例中使用。Edge 和 IE 之间不会发生切换。

  • 应用使用 IE 模式 -> SSO 服务使用 IE 模式
  • 应用程序使用边缘模式 -> SSO 服务使用边缘模式

推荐阅读