2016-09-26 55 views
0

使用Cognito凭据从浏览器调用我的API终端节点不会向发出请求的用户提供lambda功能。使用Cognito凭据从API网关调用Lambda获取用户

我使用AWS_IAM AUTH端点

这是请求的样子在我的拉姆达:

module.exports.addItem = (event, context, done) => { console.log(event.identity); /** accountId: "", apiKey: "", caller: "", cognitoAuthenticationProvider: "", cognitoAuthenticationType: "", cognitoIdentityId: "", cognitoIdentityPoolId: "", sourceIp: "213.229.49.108", user: "", userAgent: "Mozilla/5.0 (X11; Linux x86_6....", userArn: "" */ };

我想执行一些dynamodb操作的用户。我如何获得用户?

回答

0

您有2个选项来获得Cognito身份标识到您的lambda函数:在控制台的API方法

  1. 勾选“使用来电者资格证书”。这将告诉API网关使用Cognito凭据来调用Lambda,这意味着您的Lambda函数的context.identity将包含信息。 注意您的Cognito角色将需要权限来调用您的Lambda函数才能使其工作。

  2. 使用mapping template将值映射到您的事件负载。

看起来您正在尝试执行#2操作,但您未包含映射模板,请确保其中包含所需的值。另外,请确保您已部署启用IAM身份验证的更改,并且您正确签署了请求。

相关问题