Comment obtenir l'utilisateur dans la fonction Lambda? L'utilisateur est authentifié dans Cognito et appelle lambda avec API Gateway. La méthode API Gateway dispose d'un autorisateur AWS_IAM et de la case à cocher "Intégration de Lambda Proxy" cochéeUtilisation d'AWS Lambda avec Cognito et API Gateway
0
A
Répondre
1
Si vous avez vérifié AWS_IAM API Gateway, l'identité de l'utilisateur final disponible pour votre fonction. Vous pouvez accéder à l'ID d'identité comme suit.
exports.handler = function(event, context) {
var identity = event.requestContext.identity.cognitoIdentityId;
console.log("clientID = " + identity);
context.succeed("Your client ID is " + identity);
}
Ensuite, en utilisant la méthode AWS SDK for Cognito invoquant describeIdentity-property
, vous devriez être en mesure de récupérer des informations supplémentaires disponibles pour l'identité.
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
});
Il n'y a pas de propriété context.identity. J'appelle l'API en utilisant https://www.npmjs.com/package/aws-api-gateway-client l'objet de contexte a des propriétés: callbackWaitsForEmptyEventLoop, logGroupName, logStreamName, nomFonction, memoryLimitInMB, functionVersion, invokeid, awsRequestId, invokedFunctionArn – Ildar
est event.requestContext.identity.cognitoIdentityId dans l'objet événement. Merci – Ildar
J'ai vérifié les invocations mobiles de SDK. Mais merci mettra à jour la réponse en conséquence. – Ashan