Я использую NSwag и OpenApiDocument для аутентификации токена JWT в существующем проекте Web API. У меня есть другие MVC контроллеры в том же проекте, но аутентификация не применяется к MVC контроллерам. Можно ли применить это к обоим? Это базовая c конфигурация моих сервисов в Startup.cs
services.AddOpenApiDocument(configure =>
{
configure.Title = "My.Reporting API";
configure.AddSecurity("JWT", Enumerable.Empty<string>(), new OpenApiSecurityScheme
{
Type = OpenApiSecuritySchemeType.ApiKey,
Name = "Authorization",
In = OpenApiSecurityApiKeyLocation.Header,
Description = "Type into the textbox: Bearer {your JWT token}."
});
configure.OperationProcessors.Add(new AspNetCoreOperationSecurityScopeProcessor("JWT"));
});
Вот мой код Configure ()
app.UseSwaggerUi3(settings =>
{
settings.Path = "/api";
settings.DocumentPath = "/api/specification.json";
});
app.UseRouting();
app.UseAuthentication();
app.UseIdentityServer();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller}/{action=Index}/{id?}").RequireAuthorization();
endpoints.MapRazorPages();
});