2017-09-08 17 views
0

ラムダ関数でユーザーを取得するにはどうすればよいですか?ユーザーはCognitoで認証され、API Gatewayでlambdaを呼び出します。 API GatewayメソッドにAWS_IAM権限があり、 "Use Lambda Proxy integration"チェックボックスがオンになっています。AWSラムダをCognitoとAPIゲートウェイで使用する

答えて

1

AWS_IAM API Gatewayをチェックしている場合は、次のようにID IDにアクセスできます。

exports.handler = function(event, context) { 
    var identity = event.requestContext.identity.cognitoIdentityId; 
    console.log("clientID = " + identity); 

    context.succeed("Your client ID is " + identity); 
} 

はその後AWS SDK for Cognito呼び出すdescribeIdentity-property方法を使用して、あなたはアイデンティティのために利用可能な追加情報を取得することができるはずです。

var params = { 
    IdentityId: 'STRING_VALUE' /* required */ 
}; 
cognitoidentity.describeIdentity(params, function(err, data) { 
    if (err) console.log(err, err.stack); // an error occurred 
    else  console.log(data);   // successful response 
}); 
+0

context.identityプロパティはありません。 https://www.npmjs.com/package/aws-api-gateway-clientを使用してAPIを呼び出します コンテキストオブジェクトにはcallbackWaitsForEmptyEventLoop、logGroupName、logStreamName、functionName、memoryLimitInMB、functionVersion、invokeid、awsRequestId、invokedFunctionArn – Ildar

+0

のプロパティがあります。イベントオブジェクトのevent.requestContext.identity.cognitoIdentityIdです。ありがとうございます – Ildar

+0

私は、モバイルSDKの呼び出しを確認しました。しかし、ありがとうございます。 – Ashan

関連する問題