swagger API密钥安全定义“bearerAuth”具有意外的名称或位置,正在忽略

jchrr9hc  于 2023-02-19  发布在  其他
关注(0)|答案(1)|浏览(213)

我在AWS API网关中导入了一个swagger定义,它失败了,我第一次尝试

securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

我得到的错误是

  • 不支持“bearerAuth'"的安全定义类型”http“。忽略。*

我把这个改成了

securitySchemes:
    bearerAuth:
      type: apiKey
      scheme: bearer
      bearerFormat: JWT

出现以下错误

  • 解析问题:缺少属性components.securitySchemes.bearerAuth.name**解析问题:缺少属性components.securitySchemes.bearerAuth.in*

最后把这个改成了

securitySchemes:
    bearerAuth:
      type: apiKey
      scheme: bearer
      bearerFormat: jwt
      name: authorization
      in: header

最后一个错误:

  • API密钥安全定义“bearerAuth”具有意外的名称或位置。正在忽略。*

我不知道我做错了什么
谢谢

wgmfuz8q

wgmfuz8q1#

我发现我收到了这个错误,直到我设置了API定义的x-amazon-apigateway-*部分:
我的示例(使用自定义授权程序):

{
      "type": "apiKey",
      "scheme": "bearer",
      "in": "header",
      "name": "Authorization",
      "bearerFormat": "JWT",
      "x-amazon-apigateway-authtype": "custom",
      "x-amazon-apigateway-authorizer": {
            "type": "token",
            "identitySource": "$request.header.Authorization",
            "authorizerUri": "<lambda uri>",
            "authorizerCredentials": "<iam arn>"
      }
}

相关问题