Azure Active Directory Safari重定向问题

问题描述 投票:15回答:2

使用最新版本的Safari(12)登录使用Mac OS和iOS设备的Microsoft Online似乎存在当前问题。

Safari 12的更新如下所示:https://developer.apple.com/safari/whats-new/

由于一些新的安全和隐私更新,似乎有一个cookie问题导致登录到端点时无限重定向:http://login.microsoftonline.com

此新更新导致Apple设备用户上的Safari在登录时进入重定向无限循环。

这很可能是由于Safari不允许Microsoft cookie通过,这导致Microsoft的服务器重定向回登录页面以获取所需的cookie。但是,浏览器仍然有一些身份信息,导致用户再次自动登录,重定向到服务器。 cookie仍然不随请求一起发送,导致服务器将用户发送回登录页面。从服务器和浏览器的这种重定向似乎是无限重定向背后的主要原因。

是否有任何更新,推理或解决方案来解决/解决Safari和Microsoft登录重定向问题背后的问题?

ios macos safari azure-active-directory adal
2个回答
4
投票

在GitHub上有一个aspnet /安全团队记录的解决方案。

https://github.com/aspnet/Security/issues/1864

如果您使用的是ASP.NET Core Identity,则可以通过使用以下代码配置cookie来禁用保护

services.ConfigureExternalCookie(options => {
    // Other options
    options.Cookie.SameSite = SameSiteMode.None; }); services.ConfigureApplicationCookie(options => {
    // Other options
    options.Cookie.SameSite = SameSiteMode.None; });

如果您使用的是没有ASP.NET Core身份的cookie身份验证,则可以使用以下代码关闭保护

services.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options => {
    // Other options
    options.Cookie.SameSite = Microsoft.AspNetCore.Http.SameSiteMode.None; })

如果您正在使用外部OIDC提供程序,则可以通过使用以下代码将提供程序使用的响应模式从POST更改为GET请求来避免此问题。并非所有提供商都支持此功能。

.AddOpenIdConnect("myOIDProvider", options => {
    // Other options
    options.ResponseType = "code";
    options.ResponseMode = "query";
};

13
投票

你是对的。 AAD的Safari兼容性存在一些已知问题。您可以在用户语音或upvote中发出新功能请求,并订阅一些现有功能。

https://support.microsoft.com/en-us/help/2535227/a-federated-user-is-prompted-unexp https://feedback.azure.com/forums/223579-azure-portal/suggestions/34373635-fix-signing-in-in-safari https://feedback.azure.com/forums/223579-azure-portal/suggestions/7513912-does-not-work-well-on-safari-but-works-fine-on-chr

更新:产品团队已经回复并回复说这是Apple的问题。目前的状态是Apple团队和微软的PG团队正在努力解决这个问题,但微软开发团队无法做到这一点,因为微软方面没有任何问题。问题是,由于新的隐私和安全更新,Apple未正确向login.microsoftonline服务器发送cookie。 https://developer.apple.com/safari/whats-new/

© www.soinside.com 2019 - 2024. All rights reserved.