如何为 API 方法启用 ApiKeyRequired?



我想使用 API Gateway 的标准 API 密钥功能。如果我使用标准云形成,则可以通过将方法的属性 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

有什么建议吗?

以下招摇的定义有效:

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而不是标准授权标头。

相关内容

  • 没有找到相关文章

最新更新