Swagger Codegen授权用于Python-Flask

时间:2018-07-03 16:18:32

标签: python flask swagger openapi

我已经构建了一个swagger文档,生成了swagger客户端(支持python2的python-flask)。

我已经建立了我的代码,对其进行了测试,并对自己所拥有的感到满意。现在,我想使用https和Basic Auth保护我的API端点。

这是Open Api规范(OAS)的v2,因此我要进行如下设置(描述为https://swagger.io/docs/specification/2-0/authentication/basic-authentication/

swagger: "2.0"
securityDefinitions:
  basicAuth:
    type: "basic"

我是否指定端点具有单独的安全设置,或者是否在YAML的根级别为所有端点指定此设置,都没有区别。

      security:
      - basicAuth: []

我将我的YAML导出到JSON,然后运行以下命令重建swagger_server代码:

java -jar swagger-codegen-cli-2.3.1.jar generate -l python-flask - 
DsupportPython2=true -i swagger.json -a "Authorization: Basic 
Base64encodedstring"

我期望控制器或模型代码能够验证是否已传递与生成代码中指定的身份验证相匹配的基本身份验证标头,但我在任何地方都看不到引用。不知道我是否读错了此字,或者我的操作方式或使用的某些选项是否有问题?

1 个答案:

答案 0 :(得分:0)

Swagger Codegen生成的

Python服务器使用Connexion和Connexion only supports OAuth 2。如链接问题所述,

  

用户始终可以通过装饰其处理函数来添加自定义机制(请参见https://github.com/zalando/connexion/blob/master/examples/basicauth/app.py