使用最新版本的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登录重定向问题背后的问题?
在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";
};
你是对的。 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/