Amazon web services 如何将cognito用户信息传递给lambda?

Amazon web services 如何将cognito用户信息传递给lambda?,amazon-web-services,amazon-cognito,aws-api-gateway,aws-lambda,Amazon Web Services,Amazon Cognito,Aws Api Gateway,Aws Lambda,我正在开发基于API网关和Lambda的应用程序。我将POST/subscribe配置为“AWS_IAM”。所以现在它不能直接访问,但我可以通过Cognito身份验证访问API 现在的问题是我的Lambda不知道谁是API调用方。怎么知道 我有两个用户:“鲍勃”和“约翰”。我的Lambda需要知道打电话的是Bob或John 谢谢,您可以从context参数(context.Identity)的Identity属性中获取Cognito标识ID,如中所述。一旦拥有了Cognito唯一标识符,就可以使

我正在开发基于API网关和Lambda的应用程序。我将POST/subscribe配置为“AWS_IAM”。所以现在它不能直接访问,但我可以通过Cognito身份验证访问API

现在的问题是我的Lambda不知道谁是API调用方。怎么知道

我有两个用户:“鲍勃”和“约翰”。我的Lambda需要知道打电话的是Bob或John


谢谢,

您可以从
context
参数(
context.Identity
)的
Identity
属性中获取Cognito标识ID,如中所述。一旦拥有了Cognito唯一标识符,就可以使用Cognito Sync的API和开发人员凭据来查找存储在Cognito中的有关该用户的信息,或者使用该标识符将ID映射到存储在其他位置的用户信息


确保为AWS_IAM配置了API网关(如您所述),并确保在方法的“集成请求”设置下选中了“调用调用方凭据”。

谢谢。它对GET方法有效。但映射不适用于DELETE、POST和其他方法。有什么特别的配置吗?我看到了同样的问题。我会打电话给API网关团队,请他们帮忙。我将上下文类型从“application/json”更改为“text/plain”。仅供参考:Amazon API网关团队已经解决了这个问题。因此,如果您重新生成JSSDK,您应该不会再有问题。选项“调用调用方凭据”变灰,我无法打开。你知道为什么吗?