在 Swagger.Net UI 中,如何从“匿名”方法中删除挂锁图标?

In Swagger.Net UI, how can I remove the padlock icon from “Anonymous” methods?

我找到了一个类似的帖子 here,但那是针对 .Net Core 的。我对 Swagger.Net API(.Net Framework).

有同样的问题

我正在使用 Swagger.Net API 版本 8.3.35.101 和 .Net framework 4.6.1,并且我为 Swagger UI 中的每个方法获取了一个锁定图标。我的应用程序中的一些 API 不需要身份验证,因此我想从这些 API 中删除挂锁图标。

需要删除的挂锁图标可以在上图中以红色突出显示。我相信为匿名方法隐藏它可以通过实现 IOperationFilter 来实现,但是找不到任何示例代码来使用 .Net 框架来实现它。

这是我们在评论中讨论的答案:

问题是 ApiKey 配置中的类型不正确,应该是这样的:

c.ApiKey("apiKey", "header", "API Key Authentication", typeof(KeyAuthorizeAttribute));
c.ApiKey("appId", "header", "APP ID Authentication", typeof(KeyAuthorizeAttribute));

github 上的代码:
https://github.com/heldersepu/nhc-noaa/blob/master/nhc-noaa/App_Start/SwaggerConfig.cs#L75

还有活体样本:
http://nhc-noaa.azurewebsites.net/swagger/ui/index?docExpansion=list&filter=#/

挂锁图标只有其中一个