首页 > 解决方案 > API 网关不会将认知令牌数据传递给 AWS Lambda

问题描述

我已经制作了授权人,用令牌对其进行了测试,它显示了值(如图所示)。我已将授权人放入方法请求中。我在集成请求(见图)中尝试了各种选项来将用户、电子邮件传递给 lambda,但所有选项在 lambda 中都是空白的。

日志:请求 15b7bb5d-48df-11e9-b05b-37cbe151f14e 2019 年 3 月 17 日星期日 18:04:19 UTC 的执行日志:开始执行请求:15b7bb5d-48df-11e9-b05b-37cbe151f14e 2019 年 3 月 17 日星期日 18:04:19 UTC :HTTP 方法:GET,资源路径:/locations Sun Mar 17 18:04:19 UTC 2019:方法请求路径:{} Sun Mar 17 18:04:19 UTC 2019:方法请求查询字符串:{} Sun Mar 17 18 :04:19 UTC 2019 :方法请求标头:{授权=**************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************************************************************** ****************************************************** *******************QgxrTw} Sun Mar 17 18:04:19 UTC 2019:转换前的方法请求正文:Sun Mar 17 18:04:19 UTC 2019:端点请求 URI:https://lambda.eu-west-3.amazonaws.com/2015-03-31/functions/arn:aws:lambda:eu-west-3:830442835011:function:getDeliveryLocations/invocations2019 年 3 月 17 日星期日 18:04:19 UTC:端点请求标头:{x-amzn-lambda-integration-tag=15b7bb5d-48df-11e9-b05b-37cbe151f14e,授权=************ ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** ****************************************************** 46e064,X-Amz-Date=20190317T180419Z,x-amzn-apigateway-api-id=f66npkqdt6,X-Amz-Source-Arn=arn:aws:execute-api:eu-west-3:830442835011:f66npkqdt6/test-调用阶段/GET/位置,接受=应用程序/json,用户代理=AmazonAPIGateway_f66npkqdt6,X-Amz-Security-Token=FQoGZXIvYXdzEIL//////////wEaDCjYUzK2fkFwxmMskyKxA7psESYIL8x6piPZS91AzdzgF/l3zgUk9ebiYurX3dzAhdb6MeHSp952klAF9I8mO8LF/uMzV4WsIhmjeq2rvg3dVX4Mo5saxzxzcEUwBzfceseacnwM6aunfQuUSQfwp+weB+pfmPmSVhaWwfARwTSAXazjroRBZ0+fVFnKlS4o8gzPI/+Ly0Gb/AlOhIv5WUapfW6pbYJRi9UjEuApjRqFZfBBFYtdc18KX0YX0MlAlrpVpBI+vvox2jI9aNhnSEZPMDwzh8T5l9o3oeu7BWfzwhnzLe1mG1R [TRUNCATED] Sun Mar 17 18:04:19 UTC 2019 : 转换后的端点请求正文:{ "email": "", "email2": "", "email3": "", "user": "", "user2": "" } Sun Mar 17 18:04: 19 UTC 2019:发送请求到发送请求到发送请求到https://lambda.eu-west-3.amazonaws.com/2015-03-31/functions/arn:aws:lambda:eu-west-3:830442835011:function:getDeliveryLocations/invocations2019 年 3 月 17 日星期日 18:04:19 UTC:收到回复。集成延迟:471 毫秒 Sun Mar 17 18:04:19 UTC 2019:转换前的端点响应正文:[{"location": ""}, {"location": ""}, {"location": ""}, {"location": ""}] Sun Mar 17 18:04:19 UTC 2019:端点响应标头:{Date=Sun,2019 年 3 月 17 日 18:04:19 GMT,Content-Type=application/json,Content-Length =72,连接=保持活动,x-amzn-RequestId=24c150c8-9dd8-41f5-a24c-ec9e06658cf2,x-amzn-Remapped-Content-Length=0,X-Amz-Executed-Version=$LATEST} Sun Mar 17 18:04:19 UTC 2019:转换后的方法响应正文:[{"location": ""}, {"location": ""}, {"location": ""}, {"location": "" }] 2019 年 3 月 17 日星期日 18:04:19 UTC:

在此处输入图像描述

标签: aws-api-gatewayamazon-cognito

解决方案


很久之后,我想通了。问题是您需要将授权添加到方法请求标头。来自控制台测试的调用仍然不起作用,但您可以从例如:Postman with Authorization header and token 调用该方法。


推荐阅读