Я хотел бы получить помощь от сообщества по одной проблеме, которую я не понимаю.Я создаю веб-приложение asp.net core 2 и хочу настроить приложение так, чтобы оно могло входить в систему из приложения через таблицу aspnetuser или используя учетную запись компании O365 .Затем я следовал нескольким методам, описанным в сети, размещенным на сайте MSDN.Аутентификация приложения работает нормально, но добавление Azure вернуло: Ошибка загрузки информации о внешнем входе в систему. Я проверил внутри кода, генерируя представления идентичности, приложение не удалось:
var info = await _signInManager.GetExternalLoginInfoAsync();
if (info == null)
{
ErrorMessage = "Error loading external login information.";
return RedirectToPage("./Login", new { ReturnUrl = returnUrl });
}
await _signInManager.GetExternalLoginInfoAsync();верните null и верните сообщение об ошибке.
Приложение правильно настроено в Azure AD, и оно будет работать из моего приложения, если я удалю аутентификацию из приложения.
Я настроил промежуточное ПО приложения следующим образом:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddAuthentication(AzureADDefaults.AuthenticationScheme).AddCookie()
.AddAzureAD(options => Configuration.Bind("AzureAd", options));
services.Configure<OpenIdConnectOptions>(AzureADDefaults.OpenIdScheme, options =>
{
options.Authority = options.Authority + "/v2.0/";
options.TokenValidationParameters.ValidateIssuer = true;
});
И в методе настройки я добавил
app.UseAuthentication();
Когда я прихожу на свое приложение для входа в систему (поддерживается VS), все кажется правильным:
Экран входа в системус двумя возможностями аутентификации]:
Сообщение об ошибке при попытке использовать метод Azure Active Directory:
Может кто-нибудь объяснить и помочь мне решить эту проблему?
Заранее спасибо