swagger - 使用 Swagger-Net 在 Swagger 中发送不记名 token

标签 swagger swashbuckle

我最近从 Swashbuckle 过渡到 Swagger-Net .进行更改后我遇到的一个问题是,现在我无法调用需要在 Authorization header 中发送 token 的 API。下面是我在 SwaggerConfig.cs 中的代码之前在 Swashbuckle 和现在 Swagger-Net 中的方式

Swashbuckle

//section for .EnableSwagger
c.ApiKey("apiKey")
.Description("API Key Authentication")
.Name("Authorization")
.In("header");

//section for .EnableSwaggerUI
c.EnableApiKeySupport("Authorization", "header");

Swagger-Net
//section for .EnableSwagger
c.ApiKey("Authorization", "header", "API Key Authentication");

对于 Swagger-Net,我在 .EnableSwaggerUI 部分找不到任何等效的 .EnableAPIKeySupport 。在访问/Swagger UI 渲染并使用 Authorize 传递我的 token 后,它不会将该 token 发送到 API。我可以说它没有被发送,因为它不在给定的示例 CURL 中。

最佳答案

是在 Swagger-Net ApiKey是你所需要的全部

c.ApiKey("apiKey", "header", "API Key Authentication", typeof(KeyAuthAttribute));

这是一个工作示例:
http://turoapi.azurewebsites.net/swagger/ui/index#/Echo/Echo_Post

“ protected ”操作将在右侧显示锁定图标
enter image description here

当你执行它们时,你可以看到 curl 有正确的东西
enter image description here

后面的代码在这里:
https://github.com/heldersepu/TuroApi/blob/master/TuroApi/App_Start/SwaggerConfig.cs#L67

关于swagger - 使用 Swagger-Net 在 Swagger 中发送不记名 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52433796/

相关文章:

asp.net-core - 在 ASP.Net Core 中将 swashbuckle swagger 与 odata 集成

swagger - 如何使用具有构造函数的开放式 api 生成器生成类模型?

swagger - swagger 是否支持 JAX-RS @BeanParam 注释?

api - 在 openAPI 方面,有没有集中的方法来限制 api 暴露给 swagger ui?

asp.net-core - ASP.Net Core Swagger如何忽略默认参数值

azure - Swagger 无法在以 OWIN 身份运行的 Azure Web 应用程序上运行

java - Swagger with Spring Boot 2.0 导致 404 错误页面

java - SpringMVC 应用程序的 Swagger API 数组为空

c# - Swashbuckle - 在 swagger 文档中将字符串视为枚举

asp.net-web-api2 - swagger UI 在 webapi 中没有显示任何内容