小编Jus*_*olf的帖子

SwaggerUI 没有将 ApiKey 添加到带有 Swashbuckle 的 Header (5.x)

我正在使用 Swashbuckle.AspNetCore 5.0.0 为我的 .Net Core WebApi 项目生成 Swagger 文档,并且在大多数情况下,一切正常。

我已经使用 ApiKey 设置了一些简单的身份验证,效果很好。

我现在遇到问题的地方是让 Swagger 将 ApiKey 添加到我的请求标头中。我按照说明添加了 ApiKey 安全定义/要求,如这些不同的帖子中所述:

带有 swashbuckle 的标头中的 API 密钥

Swashbuckle.AspNetCore 请求的空授权标头

如何强制 Swagger/Swashbuckle 附加 API 密钥?

但是,ApiKey 值永远不会添加到 Header 中。

这就是我在启动时所拥有的:

c.AddSecurityDefinition("ApiKey",
    new OpenApiSecurityScheme
    {
         Description = "ApiKey must appear in header",
         Type = SecuritySchemeType.ApiKey,
         Name = Constants.ApiKeyHeaderName,
         In = ParameterLocation.Header
     });
Run Code Online (Sandbox Code Playgroud)

c.AddSecurityRequirement(new OpenApiSecurityRequirement
{
   { 
       new OpenApiSecurityScheme 
       {
            Name = Constants.ApiKeyHeaderName, 
            Type = SecuritySchemeType.ApiKey, 
            In = ParameterLocation.Header
       },
       new List<string>()}
    });

Run Code Online (Sandbox Code Playgroud)

swashbuckle asp.net-core

8
推荐指数
3
解决办法
3334
查看次数

标签 统计

asp.net-core ×1

swashbuckle ×1