builder.Services.AddSwaggerDoc(settings =>
{
settings.Title = "IPR Backend API";
settings.Version = "v1";
settings.AddAuth("ApiKeyAuth", new()
{
Name = "ApiKey",
In = NSwag.OpenApiSecurityApiKeyLocation.Header,
Type = NSwag.OpenApiSecuritySchemeType.ApiKey,
});
}, addJWTBearerAuth: false);
app.UseOpenApi();
app.UseSwaggerUi3(s => s.ConfigureDefaults());
该请求包含两个标头
ApiKey
和 CorrelationId
,其中包含一些在控制器通过 fastendpoints 预处理器到达实际路由之前要验证的值。我需要通过 Swagger 在我的请求中添加这些自定义标头。目前我无法通过 Swagger 运行请求,需要 Postman 来测试我的 API:
您似乎正在使用过时的 swagger 配置方法。请参阅 this gist 了解使用 swagger 进行 api-key 身份验证的完整示例。
至于添加自定义标头参数,您需要为nswag注册一个自定义操作处理器,如此示例所示。
所有这些示例均来自 fastendpoints Cookbook。