web-dev-qa-db-ja.com

Azure Active Directory Safariリダイレクトの問題

最新バージョンのSafari(12)を使用するMac OSおよびiOSデバイスでMicrosoft Onlineにログインすると、現在問題が発生しているようです。

Safari 12のアップデートは次のとおりです。 https://developer.Apple.com/safari/whats-new/

いくつかの新しいセキュリティとプライバシーの更新により、エンドポイントにログインするときに無限リダイレクトを引き起こすCookieの問題があるようです: http://login.microsoftonline.com

この新しいアップデートにより、Safari on Appleデバイスユーザーはログイン時にリダイレクト無限ループに入ります。

これはおそらく、SafariがMicrosoft Cookieを通過させないことが原因である可能性が高く、Microsoftのサーバーはログインページにリダイレクトして必要なCookieを取得します。ただし、ブラウザにはまだユーザーが自動的にログインし、サーバーにリダイレクトする識別情報がいくつかあります。 Cookieはリクエストとともに送信されないため、サーバーはユーザーをログインページに送り返します。サーバーとブラウザからのこのリダイレクトは、無限リダイレクトの背後にある主な理由のようです。

SafariおよびMicrosoftのログインリダイレクトの問題の背後にある問題を解決/回避するための更新、推論、または解決策はありますか?

15
Frank Hu MSFT

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; });

ASP.NET Core IDなしで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";
};
4
Brian Reiter

あなたは正しいです。 AADのSafari互換性にはいくつかの既知の問題があります。ユーザーボイスで新しい機能をリクエストするか、既存の機能の一部にアップボットしてサブスクライブできます。

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

UPDATE:製品チームは戻ってきて、これはApple側の問題だと答えました。現在のステータスは、AppleチームとMicrosoftのPGチームが取り組んでいますが、Microsoftの側に何も問題がないため、Microsoft開発チームができることは何もありません。問題は、 Appleは、プライバシーとセキュリティの新しい更新のため、cookieをlogin.microsoftonlineサーバーに適切に送信していません。 https://developer.Apple.com/safari/whats-new/ =