如何将URL查询字符串参数映射到AWS API Gateway中的请求标头

时间:2016-09-12 06:05:21

标签: rest api amazon-web-services aws-api-gateway

我想使用API​​密钥保护AWS API Gateway端点。但是,API密钥必须作为查询参数的一部分发送。无法指示使用此端点的服务在标头中发送密钥(x-api-key)。

所以我想要这个请求: https://api_id.execute-api.us-east-1.amazonaws.com/dev/?x-api-key=KEY

在发出请求时自动将x-api-key视为API密钥。在AWS API Gateway中有直接的方法吗?

3 个答案:

答案 0 :(得分:0)

API网关目前不支持此功能,因此不建议在安全的基础上使用,因为URL(包括查询字符串参数)通常由客户端和服务器记录和/或缓存。

谢谢, 莱恩

答案 1 :(得分:0)

我认为解决方案是使用API Gateway Custom Authorizer

但问题是如何使用强制执行使用计划...

答案 2 :(得分:0)

您可以使用API​​ Gateway Lambda Authorizers。

  

Amazon API Gateway Lambda授权程序(以前称为自定义授权程序)是您提供的Lambda函数,用于控制对API方法的访问。 Lambda授权程序使用承载令牌身份验证策略,例如OAuth或SAML。它还可以使用标题,路径,查询字符串,阶段变量或上下文变量请求参数描述的信息。

https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html