Azure Active Directory Safari重定向问题

Fra*_*SFT 15 safari macos ios azure-active-directory adal

使用最新版本的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登录重定向问题背后的问题?

Mar*_*SFT 13

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

自由软件网与 存货-fix-signing-in-safari https://feedback.azure.com/forums/223579-azure-portal/suggestions/7513912-does-not-work-well-on-safari-but-works-fine-上CHR

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

  • 使用产品团队的更新编辑了帖子.我将在发布信息时继续更新此线程. (2认同)

Bri*_*ter 8

GitHub 上的 aspnet/security 团队记录了一个解决方案。

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; });
Run Code Online (Sandbox Code Playgroud)

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

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

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

.AddOpenIdConnect("myOIDProvider", options => {
    // Other options
    options.ResponseType = "code";
    options.ResponseMode = "query";
};
Run Code Online (Sandbox Code Playgroud)