Tengo una configuración de activación posterior al registro para almacenar los detalles del usuario en la tabla de DynamoDb. Esto funciona bien cuando el usuario se registra por su cuenta a través del front-end, pero el activador nunca se invoca si el usuario se crea a través de la API AdminCreateUser. Nuestra suposición fue que después de que el usuario recién agregado reciba un correo electrónico con una contraseña temporal e inicie sesión a través del front-end, Cognito invocará el activador posterior al registro.
¿Es ese un comportamiento esperado? Y también, ¿cómo abordamos este problema?
Aunque eso es contrario a la intuición, parece que ese es el comportamiento esperado.
El activador Post Confirmation no se invoca cuando se crea un usuario a través de la API AdminCreateUser .
La solución alternativa podría ser usar el activador de Post Authentication y durante el procesamiento del evento activado para comprobar si cognito:user_status es FORCE_CHANGE_PASSWORD .
Cuando se crea un usuario mediante AdminCreateUser , el estado del nuevo usuario se establece en FORCE_CHANGE_PASSWORD . Una vez que el usuario inicia sesión y cambia la contraseña temporal, el estado cambia a CONFIRMED .
La desventaja es que el activador se invoca después de cada inicio de sesión.