Мое приложение работает за шлюзом и имеет промежуточное ПО, которое обрабатывает настройку свойства pathbase контекста.
PathBase будет установлен в "/ identity /";
Тогда использование следующей настройки аутентификации в службах конфигурации не будет работать корректно, если я не добавлю явно закомментированные строки.
authentication.AddOpenIdConnect("AAD", "Azure Active Directory", options =>
{
// options.CorrelationCookie.Path = "/identity/aad-signin-oidc";
// options.NonceCookie.Path = "/identity/aad-signin-oidc";
options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme;
options.SignOutScheme = IdentityServerConstants.SignoutScheme;
options.CallbackPath = "/aad-signin-oidc";
options.Authority = "https://login.microsoftonline.com/common";
options.ClientId = appRegistration.SelectToken("$.appId").ToString();// "f98fa34a-2aa2-4ff4-b7bf-a7ef5ab1890b";
options.Scope.Add("openid");
options.Scope.Add("profile");
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = false
};
options.GetClaimsFromUserInfoEndpoint = true;
options.Events.OnRedirectToIdentityProvider = (r) =>
{
// r.ProtocolMessage.RedirectUri = r.ProtocolMessage.RedirectUri.Replace("identity//", "identity/");
return Task.CompletedTask;
};
});