Я реализовал Azure Вход в Active Directory SAML, и он отлично работает во всех браузерах, кроме сафари в IOS, где мы получаем ошибку «слишком много перенаправлений».
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
ExpireTimeSpan = TimeSpan.FromHours(8),
LoginPath = new PathString("/Account/Login"),
CookieSameSite = SameSiteMode.None
});
app.UseWsFederationAuthentication(
new WsFederationAuthenticationOptions
{
Wtrealm = postLogoutRedirectUri,
MetadataAddress = metaData,
BackchannelCertificateValidator = null,
AuthenticationMode = AuthenticationMode.Active,
UseTokenLifetime = false,
Notifications = new WsFederationAuthenticationNotifications
{
SecurityTokenValidated = context => Task.FromResult(0),
AuthenticationFailed = context =>
{
context.HandleResponse();
context.Response.Redirect("UnAuthorizedUser");
return Task.FromResult(0);
}
}
});
нашел эту статью где он решает ту же проблему с ASP. NET core https://github.com/dotnet/aspnetcore/issues/4647
Я попытался добавить CookieSameSite = SameSiteMode.None, как показано выше, но это не удалось решить вопрос.
** Примечание: мы используем функцию условного доступа из Azure, используя 'DUO' в качестве многофакторной аутентификации.
Заранее спасибо.