From beaacffb9a3a1e1f2c870833e8ec6566a663d4be Mon Sep 17 00:00:00 2001 From: lumijiez <59575049+lumijiez@users.noreply.github.com> Date: Tue, 10 Jun 2025 20:26:22 +0300 Subject: [PATCH] Add Swagger auth --- src/Imprink.WebApi/Startup.cs | 37 ++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/src/Imprink.WebApi/Startup.cs b/src/Imprink.WebApi/Startup.cs index 8fecbb0..a522b9c 100644 --- a/src/Imprink.WebApi/Startup.cs +++ b/src/Imprink.WebApi/Startup.cs @@ -13,6 +13,7 @@ using Imprink.WebApi.Filters; using Imprink.WebApi.Middleware; using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.EntityFrameworkCore; +using Microsoft.OpenApi.Models; namespace Imprink.WebApi; @@ -85,7 +86,41 @@ public static class Startup options.Filters.Add(); }); - services.AddSwaggerGen(); + services.AddSwaggerGen(options => + { + options.SwaggerDoc("v1", new OpenApiInfo + { + Title = "Imprink API", + Version = "v1", + }); + + options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme + { + Description = "JWT Authorization header using the Bearer scheme.", + Name = "Authorization", + In = ParameterLocation.Header, + Type = SecuritySchemeType.ApiKey, + Scheme = "Bearer" + }); + + options.AddSecurityRequirement(new OpenApiSecurityRequirement + { + { + new OpenApiSecurityScheme + { + Reference = new OpenApiReference + { + Type = ReferenceType.SecurityScheme, + Id = "Bearer" + }, + Scheme = "Bearer", + Name = "Bearer", + In = ParameterLocation.Header + }, + new List() + } + }); + }); } public static void Configure(IApplicationBuilder app, IWebHostEnvironment env)