Я создаю новое WebApp с использованием ASP.NET Core 2.2 и Razor Pages и хочу аутентифицировать пользователей с помощью AzureAD. Это хорошо работает локально с localhost, и я могу входить и выходить без проблем. Но когда я публикую его на Azure, я не смогу войти. После того, как Microsoft войдет в систему, я перенаправлюсь на свое веб-приложение на страницу "/.auth/login/done", на которой будет написано: "Вы успешно вошли в систему. Вернитесь к веб-сайт ", и я могу вернуться на свой веб-сайт, но я не вошел в систему.
В регистрации приложений в Azure я настроил URL-адреса перенаправления для localhost и для приложения. Для localhost это выглядит как "https://localhost:44321/.auth/login/aad/callback", а для приложения что-то вроде" https://maywebapp.azurewebsites.net/.auth/login/aad/callback".
Я настроил приложение на использование всегда https, чтобы убедиться, что URL-адрес совпадает с настроенным в Azure.
Это моя конфигурация сервиса:
services.AddAuthentication(options =>
{
options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddOpenIdConnect(options =>
{
options.Authority = Configuration["Microsoft:Authority"];
options.ClientId = Configuration["Microsoft:ClientId"];
options.CallbackPath = Configuration["Microsoft:CallbackPath"];
options.ResponseType = OpenIdConnectResponseType.IdToken;
options.SignedOutRedirectUri = Configuration["Microsoft:SignedOutRedirectUri"];
options.TokenValidationParameters.NameClaimType = "name";
})
.AddCookie();
Я ожидаю того же поведения, что и при локальном запуске рабочего приложения.