¿Cómo soluciono los errores al usar el desencadenador de Lambda para la migración de usuarios en Amazon Cognito?

4 minutos de lectura
0

Quiero solucionar los errores que encuentro al usar el desencadenador de AWS Lambda para la migración de usuarios en Amazon Cognito.

Solución

Estos son algunos errores comunes que pueden aparecer al usar el disparador de Lambda para la migración de usuarios.

«An error occurred (InvalidParameterException) when calling the InitiateAuth operation: USER_PASSWORD_AUTH flow not enabled for this client» (Se ha producido un error [InvalidParameterException] al llamar a la operación InitiateAuth: el flujo USER_PASSWORD_AUTH no está activado para este cliente).

Este error se produce cuando el cliente de la aplicación del grupo de usuarios de Amazon Cognito no está configurado para usar los flujos USER_PASSWORD_AUTH o ADMIN_USER_PASSWORD_AUTH. Para resolver este error, antes de añadir un disparador de Lambda para la migración de usuarios, active los flujos USER_PASSWORD_AUTH o ADMIN_USER_PASSWORD_AUTH en el cliente de la aplicación.

Para activar el flujo USER_PASSWORD_AUTH o ADMIN_USER_PASSWORD_AUTH, seleccione ese flujo de autenticación en el cliente de la aplicación.Utilice estos flujos en lugar del flujo predeterminado USER_SRP_AUTH. Amazon Cognito envía una contraseña a la función de Lambda para verificar la autenticación de usuario en el otro directorio.

«An error occurred (UserNotFoundException) when calling the InitiateAuth operation: Exception migrating user in app client <example_client_id>» (Se ha producido un error [UserNotFoundException] al llamar a la operación InitiateAuth: excepción de migración de usuarios en el cliente de la aplicación <example_client_id>).

Este error se produce cuando la función de Lambda que está configurada como disparador de Lambda para la migración de usuarios no tiene una política de autorización configurada correctamente. En este caso, la política no permite que la entidad principal de la cuenta de servicio de Amazon Cognito, cognito-idp.amazonaws.com, invoque la función de Lambda. Para obtener más información, consulte Uso de políticas basadas en recursos para Lambda.

Este error también se produce si no se configura la función de Lambda como el disparador de Lambda para la migración de usuarios para su grupo de usuarios de Amazon Cognito. Para resolver este error, asegúrese de configurar la función Lambda como el disparador de Lambda para la migración de usuarios para su grupo de usuarios.

«An error occurred (UserNotFoundException) when calling the InitiateAuth operation: Error during migration: invalid finalUserStatus» (Se ha producido un error [UserNotFoundException] al llamar a la operación InitiateAuth. Error durante la migración: finalUserStatus no válido).

Este error se produce si se establece el finalUserStatus en cualquier valor que no sea CONFIRMED. Para resolver este error, cambie el finalUserStatus a CONFIRMED para que el usuario no tenga que llevar a cabo más acciones antes de iniciar sesión.

Los errores invalid messageAction o invalid desiredDeliveryMediums se producen cuando el valor del parámetro que la función de Lambda devuelve a Amazon Cognito no es el esperado. Para resolver estos errores, cambie los parámetros a los valores esperados. Para obtener información sobre los parámetros de solicitud y respuesta, consulte Parámetros del desencadenador de Lambda para migrar usuarios.

«An error occurred (UserNotFoundException) when calling the InitiateAuth operation: Attributes did not conform to the schema: <example_attribute>: Attribute does not exist in the schema» (Se ha producido un error [UserNotFoundException] al llamar a la operación InitiateAuth. Los atributos no se ajustaban al esquema <example_attribute>: el atributo no existe en el esquema).

Este error se produce cuando un atributo incluido en la respuesta de la función de Lambda no es un atributo de su grupo de usuarios de Amazon Cognito. Para resolver este error, asegúrese de devolver atributos que existen en el esquema de su grupo de usuarios.

«Exception during user migration» (Excepción durante la migración de usuarios) o «UserMigration failed with error:» (UserMigration falló con un error: <example error message>)

Estos errores aparecen en la página Hosted UI (interfaz de usuario alojada) y pueden producirse por cualquiera de los motivos mencionados anteriormente.

Como estos mensajes de error son genéricos, puede resultar difícil identificar el motivo específico del error. Para obtener más información sobre el error al migrar usuarios con la interfaz de usuario alojada, ejecute el siguiente comando de la Interfaz de la línea de comandos de AWS (AWS CLI):

$ aws cognito-idp initiate-auth --client-id <your-client-id>
    --auth-flow USER_PASSWORD_AUTH --auth-parameters "USERNAME=<username>,PASSWORD=<password>"

Nota: Reemplace <your-client-id> por su ID de cliente. Reemplace <username> por su nombre de usuario. Reemplace <password> por su contraseña.

Nota: Si recibe errores al ejecutar los comandos de la AWS CLI, asegúrese de utilizar la versión más reciente.

El comando invoca la función de Lambda para la migración de usuarios. Todos los errores que se devuelven incluyen mensajes detallados.

Información relacionada

Importar usuarios a grupos de usuarios con un desencadenador de Lambda para la migración de usuarios

Desencadenador de Lambda para la migración de usuarios

Ejemplo: migrar un usuario con una contraseña existente

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año