You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core Web API迁移至.NET 10后,配置OpenAPI/Swagger UI自定义Authorization Header遇阻

ASP.NET Core Web API迁移至.NET 10后,配置OpenAPI/Swagger UI自定义Authorization Header遇阻

我最近把一个Web API项目从.NET Framework迁移到了.NET 10,项目本身已经能正常运行了,但在配置OpenAPI(依赖包是Microsoft.AspNetCore.OpenApi 10.0.3)和SwaggerUI(依赖包Swashbuckle.AspNetCore.SwaggerUI 10.1.4)的文档时碰到了问题。

我尝试实现了一个IOpenApiDocumentTransformer,看起来这个组件已经被系统识别到了,但生成的Authorization Header格式不符合预期。我想要的正确格式是这样的:

Authorization: CUSTOMSCHEME key="13431"

下面是我目前写的代码:

public async Task TransformAsync(OpenApiDocument document,
    OpenApiDocumentTransformerContext context,
    CancellationToken cancellationToken)
{
    var authenticationSchemes = await authenticationSchemeProvider.GetAllSchemesAsync();

    if (authenticationSchemes.Any(authScheme => authScheme.Name == "CustomScheme")) 
    {
        var securitySchemes = new Dictionary<string, IOpenApiSecurityScheme> {
            ["CustomScheme"] = new OpenApiSecurityScheme {
                Type = SecuritySchemeType.ApiKey,
                Scheme = "CustomScheme",
                In = ParameterLocation.Header,
                BearerFormat = "key=\"api_key\""
            }
        };
        document.Components ??= new OpenApiComponents();
        document.Components.SecuritySchemes = securitySchemes;
    }
}

我搞不太清楚该怎么配置OpenApiSecurityScheme才能生成我需要的Header格式,希望有经验的朋友能给我一些帮助,谢谢!

备注:内容来源于stack exchange,提问作者ksja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 18:33:00