Commit a4b22751 authored by Eric Dieckman's avatar Eric Dieckman
Browse files

Add Authorize to swagger generation

parent bac49f42
Loading
Loading
Loading
Loading
+36 −1
Original line number Diff line number Diff line
@@ -30,6 +30,14 @@ ConfigureAzureKeyVault(builder);
//            ValidateAudience = true,
//            ValidateIssuer = true
//        };
// Enable lowercase routes for controllers
builder.Services.AddRouting(options =>
{
    options.LowercaseUrls = true;
});

// Read allowed origins from configuration
string[]? allowedOrigins = builder.Configuration.GetSection("AllowedOrigins").Get<string[]>();

// Configure CORS policy
builder.Services.AddCors(options =>
@@ -59,7 +67,34 @@ builder.Services.AddInfrastructure(builder.Configuration); // BE SURE TO RE-RE
//builder.Services.AddApiDocumentation();

builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddSwaggerGen(options =>
{
    // Add JWT Bearer definition so Swagger UI has the "Authorize" button
    options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
    {
        In = ParameterLocation.Header,
        Description = "Please insert JWT with Bearer into field. Example: 'Bearer {token}'",
        Name = "Authorization",
        Type = SecuritySchemeType.Http,
        Scheme = "bearer",
        BearerFormat = "JWT"
    });

    options.AddSecurityRequirement(new OpenApiSecurityRequirement
    {
        {
            new OpenApiSecurityScheme
            {
                Reference = new OpenApiReference
                {
                    Type = ReferenceType.SecurityScheme,
                    Id = "Bearer"
                }
            },
            Array.Empty<string>()
        }
    });
});

//// ############# AUTHORIZATION ################
//builder.Services.AddAuthorization(appConfig.Groups);