Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Desencadenador de Lambda para verificar la respuesta al desafío de autenticación
![Desencadenadores de Lambda de desafío](images/lambda-challenges3.png)
- Verificación de la respuesta a los desafíos de autenticación
-
Amazon Cognito lama a este desencadenador para verificar si la respuesta del usuario a un desafío de autenticación personalizado es o no válida. Forma parte del flujo de autenticación personalizado de un grupo de usuarios.
La solicitud de este disparador contiene los parámetros privateChallengeParameters
y challengeAnswer
. El desencadenador de Lambda para definir el desafío de autenticación devuelve los valores de privateChallengeParameters
, que contienen la respuesta esperada del usuario. El parámetro challengeAnswer
contiene la respuesta del usuario al desafío.
La respuesta contiene el atributo answerCorrect
. Si el usuario finaliza correctamente el desafío, Amazon Cognito establece el valor del atributo en true
. Si el usuario no finaliza correctamente el desafío, Amazon Cognito establece el valor del atributo en false
.
El bucle de desafíos se repite hasta que los usuarios respondan a todos los desafíos.
Temas
Parámetros del desencadenador de Lambda para verificar el desafío de autenticación
La solicitud que Amazon Cognito envía a esta función de Lambda es una combinación de los parámetros que se indican a continuación y los parámetros comunes que Amazon Cognito agrega a todas las solicitudes.
Parámetros de la solicitud para verificar desafíos de autenticación
- userAttributes
-
Este parámetro contiene uno o varios pares de nombre-valor que representan atributos de usuario.
- userNotFound
-
Cuando Amazon Cognito establece
PreventUserExistenceErrors
enENABLED
para su cliente de grupo de usuarios, Amazon Cognito rellena este booleano. - privateChallengeParameters
-
Este parámetro proviene del desencadenador para definir el desafío de autenticación. Para determinar si el usuario ha superado un desafío, Amazon Cognito compara los parámetros con la challengeAnswer de un usuario.
Este parámetro contiene toda la información necesaria para validar la respuesta del usuario al desafío. Esta información incluye la pregunta que Amazon Cognito presenta al usuario (
publicChallengeParameters
) y las respuestas válidas a la pregunta (privateChallengeParameters
). Solo el desencadenador de Lambda de verificación de la respuesta al desafío de autenticación utiliza este parámetro. - challengeAnswer
-
Este valor de parámetro es la respuesta del usuario al desafío.
- clientMetadata
-
Este parámetro contiene uno o varios pares de clave-valor que puede proporcionar como datos de entrada personalizados a la función de Lambda para verificar el desencadenador del desafío de autenticación. Puede transferir estos datos a la función de Lambda mediante el parámetro ClientMetadata en las operaciones de la API AdminRespondToAuthChallenge y RespondToAuthChallenge. Amazon Cognito no incluye los datos transferidos del parámetro ClientMetadata en las operaciones de la API AdminInitiateAuth y InitiateAuth en la solicitud que transfiere a la función de verificación de la autenticación.
Parámetros de la respuesta para verificar desafíos de autenticación
- answerCorrect
-
Si el usuario finaliza correctamente el desafío, Amazon Cognito establece este parámetro en
true
. Si el usuario no finaliza correctamente el desafío, Amazon Cognito establece el parámetro enfalse
.
Ejemplo de verificación de la respuesta a los desafíos de autenticación
En este ejemplo, la función de Lambda comprueba si la respuesta del usuario a un desafío coincide con la respuesta esperada. Amazon Cognito establece el parámetro answerCorrect
en true
si la respuesta del usuario coincide con la respuesta esperada.