【发布时间】:2019-07-26 23:16:40
【问题描述】:
我正在使用 Swashbuckle.AspNetCore 5.0.0 为我的 .Net Core WebApi 项目生成 Swagger 文档,并且在大多数情况下,一切正常。
我已经使用 ApiKey 设置了一些简单的身份验证,效果很好。
我现在遇到的问题是让 Swagger 在我的请求标头中添加一个 ApiKey。我按照这些不同帖子中提到的添加 ApiKey 安全定义/要求的说明进行操作:
API key in header with swashbuckle
Empty authorization header on requests for Swashbuckle.AspNetCore
How to force Swagger/Swashbuckle to append an API key?
但是,ApiKey 值从未添加到 Header。
这就是我的创业公司:
c.AddSecurityDefinition("ApiKey",
new OpenApiSecurityScheme
{
Description = "ApiKey must appear in header",
Type = SecuritySchemeType.ApiKey,
Name = Constants.ApiKeyHeaderName,
In = ParameterLocation.Header
});
和
c.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Name = Constants.ApiKeyHeaderName,
Type = SecuritySchemeType.ApiKey,
In = ParameterLocation.Header
},
new List<string>()}
});
【问题讨论】:
-
闻起来像个 bug……最好直接在项目的 github 页面上报告