Я пытаюсь создать приложение ASP.Net Core, содержащее контроллеры MVC и API в одном проекте.Для аутентификации я использую IdentityServer4.
В настоящее время, когда пользователь не авторизован для запроса, он всегда перенаправляется на путь Account/AccessDenied
независимо от схемы аутентификации.Но я хочу сохранить это поведение только для контроллеров MVC.Для запросов API я просто хочу вернуть код состояния 403.
Конфигурация:
services
.AddIdentityServer()
.AddDeveloperSigningCredential()
.AddInMemoryApiResources(ApiResourceProvider.GetAllResources())
.AddAspNetIdentity<ApplicationUser>()
.AddInMemoryClients(clientStore.AllClients);
services
.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.RequireHttpsMetadata = true;
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = tokenAuth.Issuer,
ValidateAudience = true,
ValidAudience = tokenAuth.Audience,
ValidateLifetime = true,
IssuerSigningKey = tokenAuth.SecurityKey,
ValidateIssuerSigningKey = true
};
});
Как мне этого добиться?