У меня есть 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>();
});
. Приведенная выше конфигурация добавляет кнопку «Авторизовать» наначало документа. Но когда я нажимаю на кнопку, она отображается как
Но со ссылкой на ссылку ниже. Требуется присоединение.
https://mattfrear.com/2018/07/21/add-an-authorization-header-to-your-swagger-ui-with-swashbuckle-revisited/
Также, когда я раскомментирую нижеприведенную строку в конфигурации, он добавляет значок блокировки на каждую конечную точку, в то время как мне нужно добавить значок блокировки на конечных точках, которыенужна аутентификация.
c.AddSecurityRequirement(security);
Как мне избавиться от этих 2 ошибок?
Спасибо!