Как добавить кнопку аутентификации токена в документ Swagger в API ASP.Net Core 2.1 - PullRequest
0 голосов
/ 03 октября 2019

У меня есть ASP.Net Core 2.1 приложение (API). Необходимо включить кнопку «Авторизовать» в документах swagger

. Это приложение использует авторизацию на основе токенов с AWS Cognito, а вот Swagger Configuration

 services.AddSwaggerGen(c =>
        {
            var security = new Dictionary<string, IEnumerable<string>>
            {
                {"Bearer", new string[] { }},
            };

            c.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info()
            {
                Version = "v1.0",
                Title = "My API",
                Description = "My WebAPIs build on .Net Core 2.1",
                Contact = new Swashbuckle.AspNetCore.Swagger.Contact()
                {
                    Name = "Ram",
                    Email = "myemail@email.com"
                }
            });
            c.AddSecurityDefinition("OAut2", new ApiKeyScheme
            {
                Description = "Standard Authorization header using the Bearer scheme. Example: \"bearer {token}\"",
                In = "header",
                Name = "Authorization",
                Type = "apikey"

            });
            //c.AddSecurityRequirement(security);
            //c.OperationFilter<SecurityRequirementsOperationFilter>();

        });

. Приведенная выше конфигурация добавляет кнопку «Авторизовать» наначало документа. Но когда я нажимаю на кнопку, она отображается как

enter image description here

Но со ссылкой на ссылку ниже. Требуется присоединение.

https://mattfrear.com/2018/07/21/add-an-authorization-header-to-your-swagger-ui-with-swashbuckle-revisited/

enter image description here

Также, когда я раскомментирую нижеприведенную строку в конфигурации, он добавляет значок блокировки на каждую конечную точку, в то время как мне нужно добавить значок блокировки на конечных точках, которыенужна аутентификация.

c.AddSecurityRequirement(security);

Как мне избавиться от этих 2 ошибок?

Спасибо!

...