FunGame-Server/FunGame.WebAPI/Architecture/SecurityDocumentTransformer.cs
yeziuku 11c3500650
添加 OpenApi 安全方案 (#42)
* 添加 OpenApi 安全方案

* 应用安全方案
2025-01-20 19:22:05 +08:00

39 lines
1.3 KiB
C#

using Microsoft.AspNetCore.OpenApi;
using Microsoft.OpenApi.Models;
namespace Milimoe.FunGame.WebAPI.Architecture
{
public class SecurityDocumentTransformer : IOpenApiDocumentTransformer
{
public async Task TransformAsync(OpenApiDocument document, OpenApiDocumentTransformerContext context, CancellationToken cancellationToken)
{
document.Components ??= new OpenApiComponents();
document.Components.SecuritySchemes = new Dictionary<string, OpenApiSecurityScheme>
{
{
"Bearer", new OpenApiSecurityScheme
{
Type = SecuritySchemeType.Http,
Scheme = "bearer",
BearerFormat = "JWT",
Description = "BearerToken"
}
}
};
document.SecurityRequirements = [
new()
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" }
},
Array.Empty<string>()
}
}
];
await Task.CompletedTask;
}
}
}