如何使用 swagger swashbuckle 保护生成的 API 文档

How to secure generated API documentation using swagger swashbuckle

我已经使用 swagger swashbukle 实现了 API 文档。现在我想将生成的文档作为帮助文件发布在我的网站上。如何保护此 link 并发布?

我认为到目前为止还没有办法保护 swagger swashbuckle 端点。您可以从他们的 github 问题 here

中获得提示和更多信息

只有在您的解决方案中实施了身份验证后,此解决方案才有效。

  1. 在解决方案中创建新文件夹 swagger
  2. 添加新的 Web.config 文件。
  3. 在里面写入如下代码:

    <configuration> 
        <system.web> 
            <authorization> 
                <deny users="?" /> 
            </authorization> 
        </system.web> 
        <system.webServer> 
            <modules runAllManagedModulesForAllRequests="true" /> 
        </system.webServer> 
    </configuration>
    

我想出了办法。使用最新的 swashbuckle 版本并在注入的 index.html

中添加以下 div 标签

<div id='auth_container'></div>

这将在 swagger UI 中显示一个授权按钮,可用于身份验证,一旦通过身份验证,对于 API 的所有请求,JWT 令牌将从 swagger 传递UI

此外,请遵循以下 link 来保护对 swagger 文档的所有调用 - https://github.com/domaindrivendev/Swashbuckle/issues/601