在 IE 模式下使用 MS Edge(chromium)通过 AAD 进行 SSO 失败

SSO via AAD failes with MS Edge (chromium) in IE Mode

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

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

发送到应用程序

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

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

有人知道 AzureAD 的响应有什么问题吗?似乎有什么东西在刺激 Edge_C 关于响应,这就是为什么将“非 IE 模式”(login.mso.com)更改为“IE 模式”(应用程序)会丢弃 POST 和GET 成功了。

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

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

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

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