diff --git a/src/Core/TakeoutSaaS.Shared.Web/Swagger/ConfigureSwaggerOptions.cs b/src/Core/TakeoutSaaS.Shared.Web/Swagger/ConfigureSwaggerOptions.cs index dc85906..e167f00 100644 --- a/src/Core/TakeoutSaaS.Shared.Web/Swagger/ConfigureSwaggerOptions.cs +++ b/src/Core/TakeoutSaaS.Shared.Web/Swagger/ConfigureSwaggerOptions.cs @@ -1,6 +1,7 @@ using System; -using System.Collections.Generic; using Microsoft.AspNetCore.Mvc.ApiExplorer; +using System.Collections.Generic; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Microsoft.OpenApi; using Swashbuckle.AspNetCore.SwaggerGen; @@ -34,6 +35,8 @@ internal sealed class ConfigureSwaggerOptions( if (_settings.EnableAuthorization) { + const string bearerSchemeName = "Bearer"; + var scheme = new OpenApiSecurityScheme { Name = "Authorization", @@ -44,12 +47,16 @@ internal sealed class ConfigureSwaggerOptions( BearerFormat = "JWT" }; - options.SwaggerGeneratorOptions.SecuritySchemes["Bearer"] = scheme; - var requirement = new OpenApiSecurityRequirement + options.AddSecurityDefinition(bearerSchemeName, scheme); + options.AddSecurityRequirement(document => { - { new OpenApiSecuritySchemeReference { Id = "Bearer" }, new List() } - }; - options.SwaggerGeneratorOptions.SecurityRequirements.Add(requirement); + var requirement = new OpenApiSecurityRequirement + { + { new OpenApiSecuritySchemeReference(bearerSchemeName, document, null), new List() } + }; + + return requirement; + }); } } }