Flask RESTPlus swagger 接口未将授权 header 传递给 curl 请求

Flask RESTPlus swagger interface doesn't pass Authorisation header on to curl request

运行 最新(由于切换到 flask REST-X,现在已经很旧了)flask RESTPlus 使用带有 Bearer 令牌的 swagger 接口的授权功能如下:

authorizations = {
'apikey': {
    'type': 'apiKey',
    'in': 'header',
    'name': 'Bearer '
}

但是尽管 "Authorise" 框出现在 swagger 界面中,我可以在其中放置一个令牌,但它不会添加到发出的请求或 swagger 提供的 curl 格式中,所以我们可以清楚地看到它没有被拾取。这是怎么回事,我该如何解决?

确保代码也有注释,可以将 security 添加到单个操作或全局。这是实际将 Authorization header 附加到操作所必需的。

换句话说,生成的 OpenAPI 定义应包含以下内容。

如果使用 OpenAPI 2.0:

swagger: '2.0'

securityDefinitions:
  apikey:
    type: apiKey
    in: header
    name: Authorization

security:
  - apiKey: []

如果使用 OpenAPI 3.0:

openapi: 3.0.0

components:
  securitySchemes:
    apikey:
      type: apiKey
      in: header
      name: Authorization

    # or using OAS3 Bearer auth scheme
    # apiKey:
    #  type: http
    #  scheme: bearer

security:
  - apiKey: []