Кнопка «Авторизовать» не отображается в пользовательском интерфейсе Swagger (.NET 9)C#

Место общения программистов C#
Ответить
Anonymous
 Кнопка «Авторизовать» не отображается в пользовательском интерфейсе Swagger (.NET 9)

Сообщение Anonymous »

Вот мой репозиторий: https://github.com/FlameWolf/DotNet9WebApi
My Program.cs:

Код: Выделить всё

public class Program
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.Services.AddOpenApi(options =>
{
options.OpenApiVersion = Microsoft.OpenApi.OpenApiSpecVersion.OpenApi3_0;
});
builder.Services.AddSwaggerGen(options =>
{
options.AddSecurityDefinition("bearerAuth", new()
{
Type = SecuritySchemeType.Http,
In = ParameterLocation.Header,
Scheme = "Bearer",
BearerFormat = "JWT",
Name = "Authorization",
Description = "Enter your bearer token"
});
options.AddSecurityRequirement(new()
{
{
new()
{
Reference = new()
{
Type = ReferenceType.SecurityScheme,
Id = "bearerAuth"
}
},
Array.Empty()
}
});
});
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
app.UseSwaggerUI(options =>
{
options.SwaggerEndpoint("/openapi/v1.json", "v1");
});
app.MapGet("/", async context =>
{
await Task.Run(() => context.Response.Redirect("./swagger/index.html", permanent: false));
});
}
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();
}
}
Тот же вызов AddSwaggerGen, который использовался для работы с .NET 8, где у нас был AddEndpointsApiExplorer вместо AddOpenApi и UseSwagger вместо MapOpenApi. В пользовательском интерфейсе Swagger будет доступна большая красивая кнопка «Авторизовать». Но сейчас это не так. Как я могу это исправить?


Подробнее здесь: https://stackoverflow.com/questions/791 ... r-ui-net-9
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»