当前位置 : 主页 > 网络编程 > 其它编程 >

C#学习教程:如何使用swaggerswashbuckle保护生成的API文档分享

来源:互联网 收集:自由互联 发布时间:2023-07-02
如何使用swaggerswashbuckle保护生成的API文档我已经使用swaggerswashbukle实现了API文档。现在我想在我的网站上发布生成的文档作为帮助文件。如何保 如何使用swagger swashbuckle保护生成的API文档
如何使用swaggerswashbuckle保护生成的API文档我已经使用swaggerswashbukle实现了API文档。现在我想在我的网站上发布生成的文档作为帮助文件。如何保 如何使用swagger swashbuckle保护生成的API文档

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

到目前为止,我认为没有办法确保swagger swashbuckle端点的安全。 你可以从他们的github问题中获得更多信息

只有在解决方案中实施了身份validation后,此解决方案才有效。

  • 在解决方案中创建新文件夹swagger
  • 添加新的Web.config文件。
  • 在其中编写以下代码:

  • 我想出了这样做的方法。 使用最新的swashbuckle版本,并在注入的index.html中添加以下div标签

    id ='auth_container'>

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

    另外,请按照以下链接保护swagger文档的所有调用 - https://github.com/domaindrivendev/Swashbuckle/issues/601

    在SwaggerConfig.cs文件中,取消注释以下代码段以满足您的安全需求。

    上述就是C#学习教程:如何使用swagger swashbuckle保护生成的API文档分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---编程笔记

    // You can use "BasicAuth", "ApiKey" or "OAuth2" options to describe security schemes for the // See https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md for more details. // NOTE: These only define the schemes and need to be coupled with a corresponding "security" property // at the document or operation level to indicate which schemes are required for an operation. To do this, // you'll need to implement a custom IDocumentFilter and/or IOperationFilter to set these properties // according to your specific authorization implementation // c.BasicAuth("basic") .Description("Basic HTTP Authentication"); // // NOTE: You must also configure 'EnableApiKeySupport' below in the SwaggerUI section //c.ApiKey("apiKey") // .Description("API Key Authentication") // .Name("apiKey") // .In("header"); // //c.OAuth2("oauth2") // .Description("OAuth2 Implicit Grant") // .Flow("implicit") // .AuthorizationUrl("http://petstore.swagger.wordnik.com/api/oauth/dialog") // //.TokenUrl("https://tempuri.org/token") // .Scopes(scopes => // { // scopes.Add("read", "Read access to protected resources"); // scopes.Add("write", "Write access to protected resources"); // });

    网友评论