Inscripción y confirmación de cuentas de usuario - Amazon Cognito

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.

Inscripción y confirmación de cuentas de usuario

Las cuentas de usuario se añaden al grupo de usuarios siguiendo una de las formas siguientes:

Los usuarios que se inscriben se deben confirmar antes de poder iniciar sesión. Los usuarios importados y creados ya están confirmados, pero deben crear su contraseña la primera vez que inicien sesión. En la sección siguiente se explica el proceso de confirmación y la verificación de teléfono y correo electrónico.

Información general sobre la confirmación de una cuenta de usuario

En el diagrama siguiente se ilustra el proceso de confirmación:


        Cuando los usuarios introducen el código de confirmación, verifican automáticamente el correo electrónico o el teléfono.

Una cuenta de usuario puede tener cualquiera de los estados siguientes:

Registrada (sin confirmar)

El usuario se ha inscrito correctamente, pero no puede iniciar sesión hasta que la cuenta de usuario esté confirmada. En este estado, el usuario está habilitado, pero no confirmado.

Los nuevos usuarios que se inscriben empiezan con este estado.

Confirmada

La cuenta de usuario está confirmada y el usuario puede iniciar sesión. Cuando un usuario introduce un código o sigue un enlace de correo electrónico para confirmar su cuenta de usuario, dicho correo electrónico o número de teléfono se verifica automáticamente. El código o enlace es válido durante 24 horas.

Si el administrador o un disparador Lambda de preinscripción ha confirmado la cuenta de usuario, es posible que no haya un correo electrónico o un número de teléfono asociado a la cuenta.

Restablecimiento de contraseña requerido

La cuenta de usuario está confirmada, pero el usuario debe solicitar un código y restablecer su contraseña para poder iniciar sesión.

Las cuentas de usuario que el administrador o el desarrollador importan empiezan con este estado.

Obligar a cambiar la contraseña

La cuenta de usuario está confirmada y el usuario puede iniciar sesión con una contraseña temporal, pero la primera vez que inicie sesión, el usuario debe cambiar la contraseña para poder hacer cualquier cosa.

Las cuentas de usuario que el administrador o el desarrollador crean empiezan con este estado.

Deshabilitad

Para poder eliminar una cuenta de usuario, debe deshabilitar el acceso de inicio de sesión para ese usuario.

Verificación de la información de contacto durante el registro

Tal vez desee que, cuando se registren nuevos usuarios en la aplicación, proporcionen al menos un método de contacto. Por ejemplo, con la información de contacto de los usuarios, podría:

  • Enviar una contraseña temporal cuando un usuario decida restablecer su contraseña.

  • Avisar a los usuarios cuando se actualicen sus datos personales o financieros.

  • Enviar mensajes promocionales, como ofertas o descuentos especiales.

  • Enviar resúmenes de cuenta o recordatorios de facturación.

En casos de uso como estos, es importante que envíe sus mensajes a un destino verificado. De lo contrario, los mensajes podrían enviarse a una dirección de correo electrónico o un número de teléfono no válidos que se hayan especificado de forma incorrecta. O lo que es peor, podría enviarse información confidencial a agentes malintencionados que se hagan pasar por los usuarios.

A fin de garantizar que los mensajes se envíen solo a las personas indicadas, configure el grupo de usuarios de Amazon Cognito para que los usuarios tengan que proporcionar la siguiente información al registrarse:

  1. Una dirección de correo electrónico o un número de teléfono.

  2. Un código de verificación que Amazon Cognito envía a esa dirección de correo electrónico o número de teléfono. Si han pasado 24 horas y el código o el enlace de usuario ya no son válidos, llame a la operación de la API ResendConfirmationCode para generar y enviar un nuevo código o enlace.

Al proporcionar el código de verificación, el usuario demuestra que tiene acceso a la bandeja de correo o al teléfono donde se recibió el código. Cuando el usuario proporciona el código, Amazon Cognito actualiza la información sobre él en el grupo de usuarios del modo siguiente:

  • Estableciendo el estado del usuario en CONFIRMED.

  • Actualizando los atributos del usuario para indicar que la dirección de correo electrónico o el número de teléfono se han verificado.

Para ver esta información, puede utilizar la consola de Amazon Cognito. También puede utilizar la operación de la API AdminGetUser, el comando admin-get-user con la AWS CLI o la acción correspondiente de uno de los SDK de AWS.

Si un usuario tiene un método de contacto verificado, Amazon Cognito le envía de manera automática un mensaje cuando solicita restablecer la contraseña.

Para configurar el grupo de usuarios de forma que se solicite la verificación del correo electrónico o del teléfono

Cuando se verifican las direcciones de correo electrónico y los números de teléfono de los usuarios, se asegura de que puede ponerse en contacto con ellos. Siga los pasos que se describen en la AWS Management Console para configurar el grupo de usuarios y exigir que los usuarios confirmen sus direcciones de correo electrónico o números de teléfono.

nota

Si todavía no tiene ningún grupo de usuarios en la cuenta, consulte Introducción a los grupos de usuarios.

Para configurar el grupo de usuarios
  1. Vaya a la consola de Amazon Cognito. Si se le solicita, ingrese sus credenciales AWS.

  2. En el panel de navegación, seleccione Users (Usuarios). Elija un grupo de usuarios existente en la lista o cree un grupo de usuarios.

  3. Elija la pestaña Sign-up experience (Experiencia de registro) y localice Attribute verification and user account confirmation (Verificación de atributos y confirmación de cuenta de usuario). Elija Edit (Editar).

  4. En Verificación y confirmación asistidas por Cognito, elija si desea Permitir que Cognito envíe mensajes automáticamente para verificar y confirmar. Con esta configuración habilitada, Amazon Cognito envía mensajes a los atributos de contacto del usuario que elija cuando un usuario se registre o cuando cree un perfil de usuario. Para verificar los atributos y confirmar los perfiles de usuario para iniciar sesión, Amazon Cognito envía un código o un enlace en los mensajes a los usuarios. A continuación, los usuarios deben introducir el código en la IU para que la aplicación pueda confirmarlo en una solicitud de la API ConfirmSignUp o AdminConfirmSignUp.

    nota

    También se puede deshabilitar Cognito-assisted verification and confirmation (Verificación y confirmación asistidas por Cognito) y emplear acciones de API autenticadas o desencadenadores de Lambda para verificar atributos y confirmar usuarios.

    Si elige esta opción, Amazon Cognito no enviará códigos de verificación cuando el usuario se registre. Elija esta opción si utiliza un flujo de autenticación personalizado con el que se verifica, al menos, un método de contacto sin utilizar códigos de verificación de Amazon Cognito. Por ejemplo, es posible que desee utilizar un desencadenador Lambda previo al registro que verifique automáticamente las direcciones de correo electrónico que pertenecen a un dominio específico.

    Si no verifica la información de contacto de los usuarios, es posible que no pueda utilizar la aplicación. Recuerde que los usuarios necesitan tener verificada la información de contacto para:

    • Restablecer sus contraseñas: Cuando un usuario elije una opción en la aplicación con la que se llama a la acción ForgotPassword de la API, Amazon Cognito envía una contraseña temporal a la dirección de correo electrónico o al número de teléfono del usuario. Amazon Cognito envía esta contraseña solo si el usuario tiene, al menos, un método de contacto verificado.

    • Iniciar sesión utilizando una dirección de correo electrónico o un número de teléfono como alias: Si configura el grupo de usuarios de forma que estos alias estén permitidos, los usuarios solamente podrán iniciar sesión con un alias si dicho alias se ha verificado. Para obtener más información, consulte Personalización de los atributos de inicio de sesión.

  5. Elija Attributes to verify (Atributos para verificar):

    Enviar un mensaje SMS, verificar el número de teléfono

    Amazon Cognito envía un mensaje SMS con un código de verificación cuando el usuario se registra. Elija esta opción si normalmente se comunica con los usuarios a través de mensajes SMS. Por ejemplo, conviene utilizar números de teléfono verificados si envía notificaciones de entrega, confirmaciones de citas o alertas. Los números de teléfono de los usuarios serán el atributo verificado cuando se confirmen las cuentas; se deben tomar medidas adicionales para verificar y comunicarse con las direcciones de correo electrónico de los usuarios.

    Enviar un mensaje de correo electrónico, verificar la dirección de correo electrónico

    Amazon Cognito envía un mensaje de correo electrónico con un código de verificación cuando el usuario se registra. Elija esta opción si normalmente se comunica con los usuarios a través del correo electrónico. Por ejemplo, conviene utilizar direcciones de correo electrónico verificadas para enviar facturas, resúmenes de pedidos u ofertas especiales. Las direcciones de correo electrónico de los usuarios serán el atributo verificado cuando se confirmen las cuentas; se deben tomar medidas adicionales para verificar y comunicarse con los números de teléfono de los usuarios.

    Enviar un mensaje SMS si hay un número de teléfono disponible; de lo contrario, enviar un mensaje de correo electrónico

    Elija esta opción si no quiere que todos los usuarios tengan el mismo método de contacto verificado. En este caso, la página de registro de la aplicación podría pedir a los usuarios que verifiquen únicamente el método de contacto preferido. Cuando Amazon Cognito envía un código de verificación, lo envía mediante el método de contacto especificado en la solicitud SignUp de la aplicación. Si un usuario proporciona una dirección de correo electrónico y un número de teléfono y se especifican los dos métodos de contacto en la solicitud SignUp de la aplicación, Amazon Cognito solo envía el código de verificación al número de teléfono.

    Si solicita a los usuarios que verifiquen la dirección de correo electrónico y el número de teléfono, elija esta opción. Amazon Cognito verificará uno de los métodos de contacto cuando el usuario se registre, mientras que la aplicación deberá verificar el otro cuando el usuario inicie sesión. Para obtener más información, consulte Si solicita a los usuarios que confirmen tanto el correo electrónico como el número de teléfono.

  6. Elija Save changes (Guardar cambios).

Flujo de autenticación con la verificación del correo electrónico o el teléfono

Si el grupo de usuarios obliga a los usuarios a verificar los datos de contacto, la aplicación debe facilitar lo siguiente cuando el usuario se registre:

  1. Un usuario inicia sesión en su aplicación introduciendo un nombre de usuario, un número de teléfono o una dirección de correo electrónico y, posiblemente, otros atributos.

  2. El servicio de Amazon Cognito recibe la solicitud de registro de la aplicación. Después de verificar que la solicitud contiene todos los atributos necesarios para la inscripción, el servicio completa el proceso de inscripción y envía un código de confirmación al teléfono (en un mensaje SMS) o al correo electrónico del usuario. El código es válido durante 24 horas.

  3. El servicio indica a la aplicación que la inscripción se ha completado y que la cuenta de usuario está pendiente de confirmación. La respuesta contiene información acerca de dónde se ha enviado el código de confirmación. En este momento, la cuenta de usuario está sin confirmar y la dirección de correo electrónico y el número de teléfono del usuario están sin verificar.

  4. Ahora, la aplicación puede instar al usuario a que introduzca el código de confirmación. No es necesario que el usuario introduzca el código de inmediato. Sin embargo, no podrá iniciar sesión hasta después de introducir el código de confirmación.

  5. El usuario introduce el código de confirmación en la aplicación.

  6. La aplicación llama a ConfirmSignUp para enviar el código al servicio de Amazon Cognito que lo verifica y, si es correcto, establece la cuenta del usuario en el estado confirmado. Después de confirmar con éxito la cuenta del usuario, el servicio de Amazon Cognito marca de forma automática el atributo que se utilizó para confirmar (dirección de correo electrónico o número de teléfono) como verificado. A menos que el valor de este atributo cambie, el usuario no tendrá que volver a verificarlo.

  7. En este punto, la cuenta de usuario se encuentra en estado confirmado y el usuario puede iniciar sesión.

Si solicita a los usuarios que confirmen tanto el correo electrónico como el número de teléfono

Amazon Cognito solo verificará uno de los métodos de contacto cuando el usuario se registre. En los casos en que Amazon Cognito deba elegir entre la verificación por dirección de correo electrónico o número de teléfono, elegirá el número de teléfono y enviará un código de verificación por mensaje SMS. Por ejemplo, si configura el grupo de usuarios de forma que los usuarios puedan verificarse por dirección de correo electrónico o número de teléfono, y la aplicación proporciona estos atributos después del registro, Amazon Cognito solo verificará el número de teléfono. Una vez que un usuario verifica el número de teléfono, Amazon Cognito establece el estado del usuario en CONFIRMED, por lo que el usuario tiene permiso para iniciar sesión en la aplicación.

Una vez que el usuario inicia sesión, la aplicación puede dar la opción de verificar el método de contacto que no se ha verificado durante el registro. Para verificar este segundo método, la aplicación llama a la acción VerifyUserAttribute de la API. Tenga en cuenta que para esta acción se requiere un parámetro AccessToken y que Amazon Cognito solo proporciona tokens de acceso a los usuarios autenticados. Por lo tanto, solamente puede verificar el segundo método de contacto una vez que el usuario ha iniciado sesión.

Si necesita que los usuarios verifiquen la dirección de correo electrónico y el número de teléfono, haga lo siguiente:

  1. Configure el grupo de usuarios para que permita a los usuarios verificar la dirección de correo electrónico o el número de teléfono.

  2. En el flujo de registro de la aplicación, pida a los usuarios que proporcionen una dirección de correo electrónico y un número de teléfono. Llame a la acción SignUp de la API y proporcione la dirección de correo electrónico y el número de teléfono en el parámetro UserAttributes. En ese momento, Amazon Cognito envía un código de verificación al teléfono del usuario.

  3. En la interfaz de la aplicación, muestre una página de confirmación en la que el usuario pueda especificar el código de verificación. Confirme el usuario llamando a la acción ConfirmSignUp de la API. En ese momento, el estado del usuario es CONFIRMED y el número de teléfono del usuario está verificado, aunque la dirección de correo electrónico no lo está.

  4. Muestre la página de inicio de sesión y autentique el usuario llamando a la acción InitiateAuth de la API. Cuando el usuario esté autenticado, Amazon Cognito devolverá un token de acceso a la aplicación.

  5. Llame a la acción GetUserAttributeVerificationCode de la API. Especifique los siguientes parámetros en la solicitud:

    • AccessToken: es el token de acceso que devuelve Amazon Cognito una vez que el usuario inicia sesión.

    • AttributeName: especifique "email" como el valor del atributo.

    Amazon Cognito envía un código de verificación a la dirección de correo electrónico del usuario.

  6. Muestre una página de confirmación en la que el usuario pueda especificar el código de verificación. Cuando el usuario envíe el código, llame a la acción VerifyUserAttribute de la API. Especifique los siguientes parámetros en la solicitud:

    • AccessToken: es el token de acceso que devuelve Amazon Cognito una vez que el usuario inicia sesión.

    • AttributeName: especifique "email" como el valor del atributo.

    • Code: es el código de verificación que proporciona el usuario.

    En este momento, se verifica la dirección de correo electrónico.

Permitir que los usuarios se registren en la aplicación, pero con confirmación del administrador del grupo de usuarios

Es posible que no desees que el grupo de usuarios envíe automáticamente mensajes de verificación al grupo de usuarios, pero aun así quieras permitir que cualquier persona se registre para obtener una cuenta. Este modelo deja espacio, por ejemplo, para la revisión humana de las nuevas solicitudes de registro y para la validación y el procesamiento por lotes de los registros. Puede confirmar cuentas de usuario nuevas en la consola de Amazon Cognito o con la operación de la API autenticada por IAM AdminConfirmSignUp. Puede confirmar las cuentas de usuario como administrador si el grupo de usuarios envía mensajes de verificación o no.

Solo puede confirmar el registro de un usuario en el autoservicio con esta técnica. Para confirmar un usuario que haya creado como administrador, cree una solicitud de la API AdminSetUserPassword con Permanent establecido en True.

  1. Un usuario inicia sesión en su aplicación introduciendo un nombre de usuario, un número de teléfono o una dirección de correo electrónico y, posiblemente, otros atributos.

  2. El servicio de Amazon Cognito recibe la solicitud de registro de la aplicación. Después de verificar que la solicitud contiene todos los atributos necesarios para la inscripción, el servicio completa el proceso de inscripción e indica a la aplicación que la inscripción está completa y pendiente de confirmación. En este punto, el estado de la cuenta del usuario es no confirmado. El usuario solo podrá iniciar sesión cuando la cuenta esté confirmada.

  3. Confirme la cuenta del usuario. Debe iniciar sesión en la AWS Management Console o firmar la solicitud de la API con credenciales de AWS para confirmar la cuenta.

    1. Para confirmar un usuario en la consola de Amazon Cognito, vaya a la pestaña Usuarios, elija el usuario que desea confirmar y, en el menú Acciones, seleccione Confirmar.

    2. Para confirmar a un usuario en la API o la CLI de AWS, cree una solicitud de la API AdminConfirmSignUp o admin-confirm-sign-up en la AWS CLI.

  4. En este punto, la cuenta de usuario se encuentra en estado confirmado y el usuario puede iniciar sesión.

Cálculo de los valores de hash secretos

Como práctica recomendada, asigne un secreto de cliente a su cliente de aplicaciones confidenciales. Cuando asigne un secreto de cliente a su cliente de aplicación, las solicitudes de API de los grupos de usuarios de Amazon Cognito deberán incorporar un hash que incluya el secreto de cliente en el cuerpo de la solicitud. Para validar su conocimiento del secreto de cliente para las operaciones de la API de las listas siguientes, concatene el secreto de cliente con el ID del cliente de aplicación y el nombre de usuario del usuario y, a continuación, codifique en base64 esa cadena.

Cuando su aplicación inicie sesión con los usuarios en un cliente que tiene un hash secreto, puede usar el valor de cualquier atributo de inicio de sesión de grupo de usuarios como elemento de nombre de usuario del hash secreto. Cuando su aplicación solicita tokens nuevos en una operación de autenticación con REFRESH_TOKEN_AUTH, el valor del elemento del nombre de usuario depende de sus atributos de inicio de sesión. Si su grupo de usuarios no tiene username como atributo de inicio de sesión, establezca el valor secreto de nombre de usuario de hash de la reclamación de sub del usuario a partir de su token de ID o acceso. Cuando username es un atributo de inicio de sesión, establezca el valor de nombre de usuario de hash de secreto que aparece en la reclamación de username.

Las siguientes API de grupos de usuarios de Amazon Cognito aceptan un valor de hash secreto de cliente en un parámetro SecretHash.

Además, las siguientes API aceptan un valor de hash de secreto de cliente en un parámetro SECRET_HASH, ya sea en parámetros de autenticación o en una respuesta de desafío.

Operación de la API Parámetro principal para SECRET_HASH
InitiateAuth AuthParameters
AdminInitiateAuth AuthParameters
RespondToAuthChallenge ChallengeResponses
AdminRespondToAuthChallenge ChallengeResponses

El valor de hash secreto es un código de autenticación de mensajes mediante algoritmos hash con clave (HMAC) codificados en Base64 que se calcula con la clave secreta de un cliente de grupo de usuarios y un nombre de usuario más el ID de cliente en el mensaje. El pseudocódigo siguiente muestra cómo se calcula este valor. En este pseudocódigo, + indica una concatenación, HMAC_SHA256 representa una función que genera un valor HMAC utilizando HmacSHA256 y Base64 representa una función que genera una versión con codificación Base64 de la salida del hash.

Base64 ( HMAC_SHA256 ( "Client Secret Key", "Username" + "Client Id" ) )

Para ver información general detallada sobre cómo calcular y utilizar el parámetro SecretHash, consulte el tema sobre cómo solucionar los errores No se puede verificar el hash secreto para el cliente <client-id>” de la API de grupos de usuarios de Amazon Cognito en el Centro de conocimientos de AWS.

Puede utilizar los siguientes ejemplos de código en el código de su aplicación en el servidor.

Shell
echo -n "[username][app client ID]" | openssl dgst -sha256 -hmac [app client secret] -binary | openssl enc -base64
Java
import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; public static String calculateSecretHash(String userPoolClientId, String userPoolClientSecret, String userName) { final String HMAC_SHA256_ALGORITHM = "HmacSHA256"; SecretKeySpec signingKey = new SecretKeySpec( userPoolClientSecret.getBytes(StandardCharsets.UTF_8), HMAC_SHA256_ALGORITHM); try { Mac mac = Mac.getInstance(HMAC_SHA256_ALGORITHM); mac.init(signingKey); mac.update(userName.getBytes(StandardCharsets.UTF_8)); byte[] rawHmac = mac.doFinal(userPoolClientId.getBytes(StandardCharsets.UTF_8)); return Base64.getEncoder().encodeToString(rawHmac); } catch (Exception e) { throw new RuntimeException("Error while calculating "); } }
Python
import sys import hmac, hashlib, base64 username = sys.argv[1] app_client_id = sys.argv[2] key = sys.argv[3] message = bytes(sys.argv[1]+sys.argv[2],'utf-8') key = bytes(sys.argv[3],'utf-8') secret_hash = base64.b64encode(hmac.new(key, message, digestmod=hashlib.sha256).digest()).decode() print("SECRET HASH:",secret_hash)

Confirmación de cuentas de usuario sin verificar el correo electrónico o el número de teléfono

El desencadenador de Lambda de prerregistro se puede usar para confirmar de manera automática las cuentas de usuario en el registro, sin tener que requerir un código de confirmación ni verificar el correo electrónico o el número de teléfono. Los usuarios que se confirmen de esta forma pueden iniciar sesión de forma inmediata sin tener que recibir un código.

Con este disparador, también puede marcar un correo electrónico o un número de teléfono del usuario como verificado.

nota

Aunque este enfoque es práctico para los usuarios cuando están empezando, le recomendamos que compruebe automáticamente al menos el correo electrónico o el número de teléfono. De no ser así, el usuario puede quedarse sin poder recuperar la contraseña si la olvida.

Si no exige que el usuario reciba e ingrese un código de confirmación al registrarse y no verifica de manera automática el correo electrónico ni el número de teléfono en el desencadenador de Lambda de prerregistro, corre el riesgo de no tener una dirección de correo electrónico ni un número de teléfono verificados para esta cuenta de usuario. El usuario puede verificar la dirección de correo electrónico o el número de teléfono en otro momento. No obstante, si el usuario se olvida de su contraseña y no cuenta con una dirección de correo electrónico o un número de teléfono verificado, el usuario estará bloqueado fuera de la cuenta, ya que el flujo de contraseña olvidada requiere un correo electrónico o un número de teléfono verificado para enviar un código de verificación al usuario.

Verificación al cambiar los usuarios su correo electrónico o su número de teléfono

Cuando un usuario actualiza su dirección de correo electrónico o número de teléfono en la aplicación, Amazon Cognito envía inmediatamente un mensaje con un código de verificación a un usuario si configuró su grupo de usuarios para verificar automáticamente ese atributo. A continuación, el usuario debe proporcionar el código del mensaje de verificación a la aplicación. A continuación, la aplicación envía el código en una solicitud de API VerifyUserAttribute para completar la verificación del nuevo valor de atributo.

Si su grupo de usuarios no requiere que los usuarios verifiquen una dirección de correo electrónico o un número de teléfono actualizados, Amazon Cognito cambia inmediatamente el valor de un atributo email o phone_number actualizado y marca el atributo como no verificado. El usuario no puede iniciar sesión con un correo electrónico o número de teléfono no verificados. Debe completar la verificación del valor actualizado antes de poder utilizar dicho atributo como alias de inicio de sesión.

Si el grupo de usuarios requiere que los usuarios verifiquen una dirección de correo electrónico o un número de teléfono actualizados, Amazon Cognito mantiene el atributo verificado y establecido en su valor original hasta que el usuario verifique el nuevo valor de atributo. Si el atributo es un alias para iniciar sesión, el usuario puede iniciar sesión con el valor del atributo original hasta que la verificación cambie el atributo por el nuevo valor. Para obtener más información acerca de cómo configurar el grupo de usuarios para exigir a los usuarios que verifiquen atributos actualizados, consulte Configuración de la verificación del correo electrónico o del teléfono.

Puede utilizar un desencadenador de Lambda de mensaje personalizado para personalizar el mensaje de verificación. Para obtener más información, consulte Desencadenador de Lambda para mensajes personalizados. Cuando la dirección de correo electrónico o el número de teléfono de un usuario no están verificados, su aplicación debe informar al usuario de que debe verificar el atributo, y proporcionar un botón o enlace para que los usuarios verifiquen su nueva dirección de correo electrónico o número de teléfono.

Procesos de confirmación y verificación para las cuentas de usuario creadas por administradores o desarrolladores

Las cuentas de usuario que un administrador o un desarrollador crean ya tienen el estado confirmado, por lo que los usuarios no tienen que introducir ningún código de confirmación. El mensaje de invitación que el servicio de Amazon Cognito envía a estos usuarios incluye el nombre de usuario y una contraseña temporal. Se pide al usuario que cambie la contraseña antes de iniciar sesión. Para obtener más información, consulte la Personalizar mensajes de correo electrónico y SMS en Creación de cuentas de usuario como administrador y el disparador para mensajes personalizados en Personalización de flujos de trabajo de grupos de usuarios con desencadenadores de Lambda.

Procesos de confirmación y verificación para las cuentas de usuario importadas

Las cuentas de usuario que se crean con la característica de importación del usuario en la AWS Management Console, la CLI o la API (consulte Importación de usuarios en grupos de usuarios desde un archivo CSV) ya tienen el estado confirmado, por lo que los usuarios no tienen que introducir un código de confirmación. No se envía ningún mensaje de invitación. Sin embargo, las cuentas de usuario importadas requieren que los usuarios soliciten primero un código llamando al API ForgotPassword y que después creen una contraseña utilizando el código entregado llamando al API ConfirmForgotPassword antes de iniciar sesión. Para obtener más información, consulte Obligación de que los usuarios importados restablezcan sus contraseñas.

O bien el correo electrónico o el número de teléfono del usuario deben marcarse como verificados cuando se importa la cuenta de usuario, con lo que no es necesaria ninguna verificación cuando el usuario inicia sesión.

Envío de mensajes de correo electrónico para probar la aplicación

Amazon Cognito envía mensajes de correo electrónico a los usuarios cuando crean y administran sus cuentas en la aplicación cliente del grupo de usuarios. Si configura el grupo de usuarios de forma que se exija la verificación por correo electrónico, Amazon Cognito enviará un correo electrónico cuando:

  • Un usuario se registre.

  • Un usuario actualice su dirección de correo electrónico.

  • Un usuario realice una operación que llame a la acción ForgotPassword de la API.

  • Usted cree una cuenta de usuario como administrador.

En función de la acción que inicie el correo electrónico, el correo electrónico contendrá un código de verificación o una contraseña temporal. Es necesario que los usuarios reciban estos correos electrónicos y comprendan el mensaje. De lo contrario, tal vez no puedan iniciar sesión ni utilizar la aplicación.

Para asegurarse de que los correos electrónicos se envíen de manera adecuada y de que el mensaje aparezca como corresponde, pruebe en la aplicación estas acciones con las que se inicia el envío de correos electrónicos desde Amazon Cognito. Por ejemplo, si utiliza la página de registro de la aplicación o la acción SignUp de la API, puede activar el envío de un correo electrónico registrándose con una dirección de correo electrónico de prueba. Cuando realice este tipo de pruebas, recuerde lo siguiente:

Importante

Cuando utilice una dirección de correo electrónico para probar acciones con las que se activa el envío de correos electrónicos desde Amazon Cognito, no utilice una dirección de correo electrónico falsa (una que no tenga buzón de correo). Utilice una dirección de correo electrónico real que pueda recibir el correo electrónico de Amazon Cognito y que no genere un rechazo permanente.

Los rechazos permanentes se producen cuando Amazon Cognito no puede entregar el correo electrónico en el buzón del destinatario, lo que siempre sucede si el buzón de correo no existe.

Amazon Cognito limita el número de correos electrónicos que las cuentas de AWS pueden enviar y que generan rechazos permanentes de forma persistente.

Cuando realice acciones de prueba que inicien correos electrónicos, utilice una de las siguientes direcciones de correo electrónico para impedir que se produzcan rebotes permanentes:

  • La dirección de una cuenta de correo electrónico de su propiedad y que utilice para realizar pruebas. Si utiliza su propia dirección de correo electrónico, recibirá el correo electrónico que envía Amazon Cognito. Con este correo electrónico, podrá utilizar el código de verificación para probar la experiencia de registro en la aplicación. Si ha personalizado el mensaje de correo electrónico para su grupo de usuarios, podrá comprobar que el contenido personalizado tiene el aspecto deseado.

  • La dirección del simulador de bandeja de correo: success@simulator.amazonses.com. Si utiliza la dirección del simulador, Amazon Cognito enviará el correo electrónico de forma correcta, pero usted no podrá verlo. Esta opción resulta útil cuando no es necesario utilizar el código de verificación ni comprobar el mensaje de correo electrónico.

  • La dirección del simulador de buzón de correo con la incorporación de una etiqueta arbitraria, p. ej., success+user1@simulator.amazonses.com o success+user2@simulator.amazonses.com. Amazon Cognito envía correos electrónicos con éxito a estas direcciones, pero no puede ver los correos que envía. Esta opción resulta útil si desea probar el proceso de registro agregando varios usuarios de prueba al grupo de usuarios y cada usuario de prueba tiene una dirección de correo electrónico diferente.