fix: 修复 Swagger 鉴权配置
This commit is contained in:
@@ -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;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user