Déclencheur Lambda Vérification de la réponse à la stimulation d'authentification - Amazon Cognito

Déclencheur Lambda Vérification de la réponse à la stimulation d'authentification


            Déclencheurs Lambda de stimulation
Verify auth challenge response

Amazon Cognito appelle ce déclencheur pour vérifier si la réponse de l'utilisateur à une demande de vérification d'authentification personnalisée est valide ou non. Il fait partie du flux d'authentification personnalisé d'un groupe d'utilisateurs.

La demande pour ce déclencheur contient les paramètres privateChallengeParameters et challengeAnswer. Le déclencheur Lambda Création d'une demande de vérification d'authentification renvoie les valeurs de privateChallengeParameters et contient la réponse attendue de l'utilisateur. Le paramètre challengeAnswer contient la réponse de l'utilisateur pour la demande de vérification.

La réponse contient l'attribut answerCorrect. Si l'utilisateur répond à la demande de vérification, Amazon Cognito définit la valeur de l'attribut sur true. Si l'utilisateur ne répond pas correctement à la demande de vérification, Amazon Cognito définit la valeur sur false.

La boucle de demande de vérification se répète jusqu'à ce que les utilisateurs aient répondu à toutes les demandes de vérification.

Paramètres du déclencheur Lambda Vérification de la réponse à la stimulation d'authentification

Il s'agit des paramètres qu'Amazon Cognito transmet à cette fonction Lambda avec les informations d'événements figurant dans les paramètres communs.

JSON
{ "request": { "userAttributes": { "string": "string", . . . }, "privateChallengeParameters": { "string": "string", . . . }, "challengeAnswer": { "string": "string", . . . }, "clientMetadata": { "string": "string", . . . }, "userNotFound": boolean }, "response": { "answerCorrect": boolean } }

Paramètres de demande de vérification de la réponse à la stimulation d'authentification

userAttributes

Ce paramètre contient une ou plusieurs paires nom-valeur représentant les attributs utilisateur.

userNotFound

Quand Amazon Cognito définit PreventUserExistenceErrors sur ENABLED pour votre client de groupe d'utilisateurs, Amazon Cognito renseigne ce booléen.

privateChallengeParameters

Ce paramètre provient du déclencheur Création d'une demande de vérification d'authentification. Pour déterminer si l'utilisateur a réussi un défi, Amazon Cognito compare ces paramètres au paramètre challengeAnswer d'un utilisateur.

Ce paramètre contient toutes les informations qui sont nécessaires pour valider la réponse de l'utilisateur à la demande de vérification. Ces informations incluent la question posée par Amazon Cognito à l'utilisateur (publicChallengeParameters), et les réponses valides à la question (privateChallengeParameters). Seul le déclencheur Lambda Vérification de la réponse à la demande de vérification d'authentification utilise ce paramètre.

challengeAnswer

La valeur de ce paramètre est la réponse de l'utilisateur à la demande de vérification.

clientMetadata

Ce paramètre contient une ou plusieurs paires clé-valeur que vous pouvez fournir en tant qu'entrée personnalisée à la fonction Lambda pour le déclencheur Vérification de la réponse à la demande de vérification d'authentification. Pour transmettre ces données à votre fonction Lambda, utilisez le paramètre ClientMetadata dans les opérations d'API AdminRespondToAuthChallenge et RespondToAuthChallenge. Amazon Cognito n'inclut pas les données provenant du paramètre ClientMetadata dans les opérations d'API AdminInitiateAuth et InitiateAuth dans la demande transmise à la fonction de vérification de la réponse à la demande de vérification d'authentification.

Paramètres de réponse de vérification de la réponse à la stimulation d'authentification

answerCorrect

Si l'utilisateur répond à la demande de vérification, Amazon Cognito définit ce paramètre sur true. Si l'utilisateur ne répond pas correctement à la demande de vérification, Amazon Cognito définit le paramètre sur false.

Exemple de vérification de la réponse à la stimulation d'authentification

Dans cet exemple, la fonction Lambda vérifie si la réponse de l'utilisateur à une stimulation correspond à la réponse attendue. Si la réponse de l'utilisateur correspond à la réponse prévue, Amazon Cognito définit le paramètre answerCorrect sur true.

Node.js
exports.handler = (event, context, callback) => { if (event.request.privateChallengeParameters.answer == event.request.challengeAnswer) { event.response.answerCorrect = true; } else { event.response.answerCorrect = false; } // Return to Amazon Cognito callback(null, event); }