From 92472be80608909506c385b6e197ce6fe0e1ad15 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 7 Oct 2025 07:49:44 +0000 Subject: [PATCH 1/3] Initial plan From 74071f8b1deb884dc0e210ea5f90f1dc1946bc16 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 7 Oct 2025 07:54:24 +0000 Subject: [PATCH 2/3] Update to .NET 9 Co-authored-by: joseftw <1232096+joseftw@users.noreply.github.com> --- .github/workflows/dotnet.yml | 4 ++-- .../JOS.ApiKeyAuthentication.Web.csproj | 2 +- .../JOS.ApiKeyAuthentication.Web.Tests.csproj | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index c91e6af..e3574b1 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -10,10 +10,10 @@ jobs: steps: - uses: actions/checkout@v4 - name: Setup .NET - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: dotnet-version: | - 8.0.x + 9.0.x dotnet-quality: 'ga' - name: Verify run: dotnet test -c Release --verbosity normal diff --git a/src/JOS.ApiKeyAuthentication.Web/JOS.ApiKeyAuthentication.Web.csproj b/src/JOS.ApiKeyAuthentication.Web/JOS.ApiKeyAuthentication.Web.csproj index a157071..4ff2686 100644 --- a/src/JOS.ApiKeyAuthentication.Web/JOS.ApiKeyAuthentication.Web.csproj +++ b/src/JOS.ApiKeyAuthentication.Web/JOS.ApiKeyAuthentication.Web.csproj @@ -1,7 +1,7 @@  - net8.0 + net9.0 JOS.ApiKeyAuthentication.Web JOS.ApiKeyAuthentication.Web diff --git a/test/JOS.ApiKeyAuthentication.Web.Tests/JOS.ApiKeyAuthentication.Web.Tests.csproj b/test/JOS.ApiKeyAuthentication.Web.Tests/JOS.ApiKeyAuthentication.Web.Tests.csproj index 449dfb6..859a3f3 100644 --- a/test/JOS.ApiKeyAuthentication.Web.Tests/JOS.ApiKeyAuthentication.Web.Tests.csproj +++ b/test/JOS.ApiKeyAuthentication.Web.Tests/JOS.ApiKeyAuthentication.Web.Tests.csproj @@ -1,16 +1,16 @@  - net8.0 + net9.0 false - - + + - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive From fc2f1621812d6120593049a765bfc3e0aa5a2a4b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 7 Oct 2025 07:59:12 +0000 Subject: [PATCH 3/3] Remove Swashbuckle completely Co-authored-by: joseftw <1232096+joseftw@users.noreply.github.com> --- .../Features/Swagger/SwaggerConfigurator.cs | 40 ------------------- .../JOS.ApiKeyAuthentication.Web.csproj | 4 -- src/JOS.ApiKeyAuthentication.Web/Startup.cs | 9 ----- 3 files changed, 53 deletions(-) delete mode 100644 src/JOS.ApiKeyAuthentication.Web/Features/Swagger/SwaggerConfigurator.cs diff --git a/src/JOS.ApiKeyAuthentication.Web/Features/Swagger/SwaggerConfigurator.cs b/src/JOS.ApiKeyAuthentication.Web/Features/Swagger/SwaggerConfigurator.cs deleted file mode 100644 index e5cde3c..0000000 --- a/src/JOS.ApiKeyAuthentication.Web/Features/Swagger/SwaggerConfigurator.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System.Collections.Generic; -using JOS.ApiKeyAuthentication.Web.Features.Shared; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.OpenApi.Models; - -namespace JOS.ApiKeyAuthentication.Web.Features.Swagger -{ - public static class SwaggerConfigurator - { - public static void ConfigureSwaggerFeature(this IServiceCollection services) - { - services.AddSwaggerGen(c => - { - c.SwaggerDoc("v1", new OpenApiInfo { Title = "JOS.ApiKeyAuthentication", Version = "v1" }); - - c.AddSecurityDefinition(ApiKeyConstants.HeaderName, new OpenApiSecurityScheme - { - Description = "Api key needed to access the endpoints. X-Api-Key: My_API_Key", - In = ParameterLocation.Header, - Name = ApiKeyConstants.HeaderName, - Type = SecuritySchemeType.ApiKey - }); - - c.AddSecurityRequirement(new OpenApiSecurityRequirement - { - { - new OpenApiSecurityScheme - { - Name = ApiKeyConstants.HeaderName, - Type = SecuritySchemeType.ApiKey, - In = ParameterLocation.Header, - Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = ApiKeyConstants.HeaderName }, - }, - new string[] {} - } - }); - }); - } - } -} diff --git a/src/JOS.ApiKeyAuthentication.Web/JOS.ApiKeyAuthentication.Web.csproj b/src/JOS.ApiKeyAuthentication.Web/JOS.ApiKeyAuthentication.Web.csproj index 4ff2686..62aca4f 100644 --- a/src/JOS.ApiKeyAuthentication.Web/JOS.ApiKeyAuthentication.Web.csproj +++ b/src/JOS.ApiKeyAuthentication.Web/JOS.ApiKeyAuthentication.Web.csproj @@ -6,8 +6,4 @@ JOS.ApiKeyAuthentication.Web - - - - diff --git a/src/JOS.ApiKeyAuthentication.Web/Startup.cs b/src/JOS.ApiKeyAuthentication.Web/Startup.cs index 2f65b33..d55b4b7 100644 --- a/src/JOS.ApiKeyAuthentication.Web/Startup.cs +++ b/src/JOS.ApiKeyAuthentication.Web/Startup.cs @@ -2,7 +2,6 @@ using System.Text.Json.Serialization; using JOS.ApiKeyAuthentication.Web.Features.Authentication; using JOS.ApiKeyAuthentication.Web.Features.Authorization; -using JOS.ApiKeyAuthentication.Web.Features.Swagger; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.Configuration; @@ -48,8 +47,6 @@ public void ConfigureServices(IServiceCollection services) options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull; }); - - services.ConfigureSwaggerFeature(); } public void Configure(IApplicationBuilder app, IHostEnvironment env) @@ -62,12 +59,6 @@ public void Configure(IApplicationBuilder app, IHostEnvironment env) app.UseAuthentication(); app.UseAuthorization(); - app.UseSwagger(); - app.UseSwaggerUI(c => - { - c.SwaggerEndpoint("/swagger/v1/swagger.json", "JOS.ApiKeyAuthentication"); - }); - app.UseEndpoints(endpoints => { endpoints.MapControllers();