Как включить ApiKeyRequired для метода Api? - PullRequest
0 голосов
/ 15 мая 2018

Я хочу использовать стандартную функцию API-ключей API Gateway. Если я использую стандартную облачную информацию, это возможно, если для метода установить свойство ApiKeyRequired равным true. Как я могу сделать это с SAM?

Я пытался использовать чванство, но, похоже, это не работает:

    swagger: "2.0"
    info:
      title: !Ref AWS::StackName

    paths:
      "/machines/{resourceid}":
        get:
          parameters: 
            - name: resourceid 
              in: path 
              type: string 
              required: true 
          x-amazon-apigateway-integration:
            httpMethod: POST
            type: aws_proxy
            uri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${MyLambda.Arn}/invocations
            responses: {}
          security:
            - authorizer: []

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

Есть предложения?

1 Ответ

0 голосов
/ 15 мая 2018

работает следующее определение чванства:

  DefinitionBody:
    swagger: "2.0"
    info:
      title: !Ref AWS::StackName
    x-amazon-apigateway-api-key-source : "HEADER"
    paths:
      "/machines/{resourceId}":
        get:
          parameters: 
            - name: resourceId 
              in: path 
              type: string 
              required: true 
          x-amazon-apigateway-integration:
            httpMethod: POST
            type: aws_proxy
            uri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${MessagingServiceTestHandler.Arn}/invocations
            responses: {}
          security:
            - api_key: []                      
    securityDefinitions:
      api_key:
        type: "apiKey"
        name: "x-api-key"
        in: "header"

Имя заголовка ключа api должно быть x-api-key , а не стандартным заголовком авторизации.

...