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

itu*_*lga 8 amazon-web-services amazon-cognito aws-lambda aws-api-gateway

我正在开发基于API Gateway和Lambda的应用程序.我将POST/subscribe配置为"AWS_IAM".所以现在它无法直接访问,但我可以使用Cognito身份验证访问API.

现在的问题是我的Lambda不知道谁是API调用者.怎么知道?

我有2个用户:"Bob"和"John".我的Lambda需要知道呼叫者是Bob或John.

谢谢,

Sco*_*eke 5

您可以从参数()的identity属性中获取Cognito Identity ID,如Lambda编程模型帮助主题上下文对象属性部分所述.获得Cognito唯一标识符后,您可以将Cognito Sync的API与开发人员凭据一起使用,以在Cognito中查找有关此用户的信息,或者您可以使用该标识符将ID映射到存储在其他位置的用户信息.contextcontext.identity

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

  • 仅供参考:亚马逊API网关团队已解决此问题.因此,如果重新生成JS SDK,则不应再出现问题. (2认同)