Можно ли использовать авторизацию на контроллерах NET Core MVC, а также при использовании аутентификации NSwag на контроллерах API? - PullRequest
0 голосов
/ 03 апреля 2020

Я использую 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();
            });
...