Отправить токен на предъявителя в Swagger с помощью Swagger-Net - PullRequest
0 голосов
/ 21 сентября 2018

Я недавно сделал переход с Swashbuckle на Swagger-Net .Одна из проблем, возникших у меня после внесения изменений, заключается в том, что теперь я не могу вызывать свои API, для которых требуется токен, отправленный в заголовке авторизации.Ниже показано, как у меня был код в SwaggerConfig.cs до этого в Swashbuckle, а теперь Swagger-Net

Swashbuckle

//section for .EnableSwagger
c.ApiKey("apiKey")
.Description("API Key Authentication")
.Name("Authorization")
.In("header");

//section for .EnableSwaggerUI
c.EnableApiKeySupport("Authorization", "header");

Swagger-Net

//section for .EnableSwagger
c.ApiKey("Authorization", "header", "API Key Authentication");

Для Swagger-Net я не могу найти эквивалент .EnableAPIKeySupport в части .EnableSwaggerUI.После доступа к визуализации пользовательского интерфейса / Swagger и использования Authorize, передав мой токен, он не отправляет этот токен в API.Я могу сказать, что он не отправляется, поскольку его нет в приведенном примере CURL.

1 Ответ

0 голосов
/ 21 сентября 2018

Да на Swagger-Net ApiKey - это все, что вам нужно

c.ApiKey("apiKey", "header", "API Key Authentication", typeof(KeyAuthAttribute));

Вот рабочий пример:
http://turoapi.azurewebsites.net/swagger/ui/index#/Echo/Echo_Post

«Защищенные» действия покажут значок замка справа enter image description here

И когда вы выполните их, вы увидите, что у локона есть нужные вещи enter image description here

И код здесь:
https://github.com/heldersepu/TuroApi/blob/master/TuroApi/App_Start/SwaggerConfig.cs#L67

...