【发布时间】:2019-04-21 14:55:53
【问题描述】:
我正在使用无服务器将 GET 参数传递给 AWS API Gateway 资源端点 (LAMBDA_PROXY)。
GET 参数在数组注释中,例如。 ?filter[someKey]=someValue,参数正确传递给事件对象中的handler。
只要我尝试将授权方应用于同一端点(授权方:AWS_IAM)并使用 Postman 发送具有相同 GET 请求参数的正确授权信息(AccesKey、SecretKey、SessionToken),我就会收到以下信息回复:
状态码:
400 Bad Request
标题:
x-amzn-ErrorType InvalidQueryStringException
身体:
{"message":null}
我在 AWS 中找不到有关 InvalidQueryStringException 的任何有用信息。
为什么 GET 请求参数在没有 AWS_IAM 授权方的情况下正确传递给处理程序,但在 AWS_IAM 到位时被拒绝?
感谢您对此的见解。
【问题讨论】:
-
PS:通过 AWS 控制台使用相同的查询字符串测试资源端点 API 网关会产生正确的响应...
-
您能确认一下您的查询字符串吗(值不如键重要)?
标签: amazon-web-services aws-lambda aws-api-gateway serverless