fix: 修复 Swagger 鉴权配置

This commit is contained in:
2025-12-02 14:59:15 +08:00
parent ddad5d1d4f
commit 6c0ec948a7

View File

@@ -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<string>() }
};
options.SwaggerGeneratorOptions.SecurityRequirements.Add(requirement);
var requirement = new OpenApiSecurityRequirement
{
{ new OpenApiSecuritySchemeReference(bearerSchemeName, document, null), new List<string>() }
};
return requirement;
});
}
}
}