我的应用程序在Azure AD上,并且我使用以下代码在Auth Service上请求身份验证:
HttpContext.GetOwinContext()。Authentication.Challenge(新AuthenticationProperties {RedirectUri =“ / Home / Index”},WsFederationAuthenticationDefaults.AuthenticationType);
发生的事情是,这在某些浏览器中有效(没有模式),有时在其他浏览器中无效。
当应用程序重定向到/ home / index时,有时对象User.Identity具有用户的电子邮件,但有时没有信息。
为什么会这样?
答案 0 :(得分:0)
Seamless SSO在Firefox和Microsoft Edge浏览器上无法在私有浏览模式下工作。如果浏览器在“增强保护”模式下运行,它也无法在Internet Explorer上运行。
对于SSO实施,请考虑发布于here的浏览器注意事项文档
根据最近的更新,这是支持的浏览器列表
Mozilla Firefox(所有平台)
Mozilla Firefox不会自动使用Kerberos身份验证。每个用户必须使用以下步骤手动将Azure AD URL添加到其Firefox设置:
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不在本文范围之内。
希望有帮助。