Я подключил его, используя следующий код C#:
Код: Выделить всё
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme).AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));
Однако, когда я вхожу в систему, используя текущего поставщика, я получаю исключение
System.Exception: «При обработке удаленного входа произошла ошибка».
InnerException.
Исключение: не удалось выполнить корреляцию.
В ходе исследования я обнаружил, что это проблема «корреляционного файла cookie» (означает, что поставщик не находит файлы cookie, с которыми можно «коррелировать»). Как я проверил,
Request.Cookie.Count == 0
но браузер отправляет .AspNetCore Файлы cookie .Correlation и .AspNetCore.OpenIdConnect.Nonce со значением «N».
Настройка конфигурации файлов cookie приложения:
Код: Выделить всё
services.ConfigureApplicationCookie(config =>
{
config.Cookie.SameSite = SameSiteMode.Strict;
});
services.ConfigureExternalCookie(options =>
{
options.Cookie.Name = "Identity.Application";
options.Cookie.SameSite = SameSiteMode.Strict;
});
Код: Выделить всё
app.UseCookiePolicy(new CookiePolicyOptions()
{
MinimumSameSitePolicy = Microsoft.AspNetCore.Http.SameSiteMode.Lax,
HttpOnly = HttpOnlyPolicy.None
});
Подробнее здесь: https://stackoverflow.com/questions/790 ... entity-web
Мобильная версия