为什么身份验证在某些浏览器中有效但在其他浏览器中无效

时间:2019-05-10 18:51:22

标签: asp.net-mvc authentication azure-active-directory mfa

我的应用程序在Azure AD上,并且我使用以下代码在Auth Service上请求身份验证:

HttpContext.GetOwinContext()。Authentication.Challenge(新AuthenticationProperties {RedirectUri =“ / Home / Index”},WsFederationAuthenticationDefaults.AuthenticationType);

发生的事情是,这在某些浏览器中有效(没有模式),有时在其他浏览器中无效。

当应用程序重定向到/ home / index时,有时对象User.Identity具有用户的电子邮件,但有时没有信息。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

Seamless SSO在Firefox和Microsoft Edge浏览器上无法在私有浏览模式下工作。如果浏览器在“增强保护”模式下运行,它也无法在Internet Explorer上运行。

对于SSO实施,请考虑发布于here的浏览器注意事项文档

根据最近的更新,这是支持的浏览器列表

Mozilla Firefox(所有平台)

Mozilla Firefox不会自动使用Kerberos身份验证。每个用户必须使用以下步骤手动将Azure AD URL添加到其Firefox设置:

  • 运行Firefox,然后在地址栏中输入about:config。取消看到的所有通知。
  • 搜索network.negotiate-auth.trusted-uris首选项。此首选项列出--Firefox的Kerberos身份验证可信站点。
  • 单击鼠标右键,然后选择“修改”。 在字段中输入https://autologon.microsoftazuread-sso.com
  • 选择“确定”,然后重新打开浏览器。

Safari(macOS)

确保将运行macOS的计算机连接到AD。 AD加入macOS设备的说明不在本文讨论范围之内。

Google Chrome浏览器(所有平台)

如果您已覆盖环境中的AuthNegotiateDelegateWhitelist或AuthServerWhitelist策略设置,请确保还向其中添加Azure AD的URL(https://autologon.microsoftazuread-sso.com)。

Google Chrome(macOS和其他非Windows平台)

对于Mac OS和其他非Windows平台上的Google Chrome浏览器,请参阅Chromium项目策略列表,以获取有关如何将Azure AD URL列入白名单以进行集成身份验证的信息。

使用第三方Active Directory组策略扩展将Azure AD URL推出到Mac用户上的Firefox和Google Chrome不在本文范围之内。

希望有帮助。