Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to pass cognito user information to lambda?

I'm developing application based on API Gateway and Lambda. I configured POST /subscribe as "AWS_IAM". So now it cannot accessible directly, but I can access to API with Cognito authentication.

Now problem is my Lambda doesn't know who is the API caller. How to know that?

I have 2 users: "Bob" and "John". My Lambda need to know that caller is Bob or John.

Thanks,

like image 254
itulga Avatar asked Oct 05 '15 09:10

itulga


1 Answers

You can get the Cognito Identity ID from the identity property of the context parameter (context.identity) as explained in the context Object Properties section of the Lambda Programming Model help topic. Once you have the Cognito unique identifier, you can use Cognito Sync's APIs with your developer credentials to look up information stored about this user in Cognito or you can use that identifier to map the ID to user information stored in elsewhere.

Make sure that API Gateway is configured for AWS_IAM (as you mentioned) and make sure that "Invoke with caller credentials" is checked under the method's "Integration Request" settings.

like image 102
Scott Willeke Avatar answered Oct 20 '22 20:10

Scott Willeke