Saltar al contenido principal
¿Busca cómo invitar usuarios a una Organización? Lea Invitar a miembros de la Organización.
Una forma de gestionar el registro en una aplicación de Auth0 es mediante invitaciones de usuarios. En un flujo típico de invitación de usuarios, un administrador de la aplicación crea una nueva cuenta de usuario y luego envía por correo electrónico una invitación a un usuario con un enlace de activación. Cuando el usuario sigue el enlace, establece una contraseña para la cuenta y luego puede iniciar sesión. Un sistema de invitación de usuarios puede ser útil en casos de uso como restringir el registro o crear cuentas en bloque.

Implementación de invitaciones de usuarios para el registro en aplicaciones con Auth0

En Auth0, puede implementar invitaciones de usuarios mediante el flujo de cambio de contraseña.
  • Al personalizar la página de restablecimiento de contraseña de Universal Login o Classic Login para que también admita una experiencia de invitación de usuarios, puede usar un enlace de cambio de contraseña como invitación a una nueva cuenta de usuario.
  • Del mismo modo, al personalizar la plantilla del correo electrónico de cambio de contraseña, puede usar el flujo de cambio de contraseña de Auth0 para generar el enlace de cambio de contraseña y enviar el correo electrónico de invitación mediante el proveedor SMTP configurado de su inquilino.
Si ya dispone de una solución de correo electrónico externa y no quiere configurar un proveedor SMTP en su inquilino, puede usar la Management API para generar el ticket de cambio de contraseña y enviar usted mismo al usuario por correo electrónico el enlace del ticket, en lugar de usar la plantilla de correo electrónico y el flujo de Auth0.
Esta implementación se basa en una propiedad de metadatos de usuario (llamada user.app_metadata.needsInvitation en estas instrucciones) que indica que el usuario tiene una invitación pendiente: cuando es true, el usuario recibe la experiencia de invitación de usuarios; en caso contrario, recibe la experiencia habitual de restablecimiento de contraseña.

1. Personaliza la plantilla del correo electrónico de cambio de contraseña

Primero, personaliza la plantilla del correo electrónico de cambio de contraseña (enlace) para admitir tanto los flujos de invitación de usuarios como los de cambio de contraseña. Usa Liquid para comprobar si está configurada la propiedad de metadatos del usuario correspondiente a una invitación pendiente y enviar el mensaje adecuado. Por ejemplo:
{% if user.app_metadata.needsInvitation %}
    // Contenido del correo electrónico de invitación de usuario aquí
{% else %}
    // Contenido del correo electrónico de cambio de contraseña aquí
{% endif %}
Además, añade un parámetro de consulta al enlace de restablecimiento de contraseña en el cuerpo del mensaje para indicar qué experiencia debe ver el usuario en la página de restablecimiento de contraseña. Por ejemplo, puedes añadir type=invite o type=reset.

2. Dar estilo a la página de restablecimiento de contraseña

En función del parámetro de consulta que configuraste en la plantilla, da estilo a la página de restablecimiento de contraseña para admitir tanto los flujos de invitación de usuarios como los de cambio de contraseña. Para obtener instrucciones sobre Universal Login, consulta Personalizar Universal Login. Para obtener instrucciones sobre Classic Login, consulta Personalizar la página de restablecimiento de contraseña.

3. Cree una Action posterior al inicio de sesión para desactivar la propiedad de invitación

Una vez que el usuario establezca su contraseña e inicie sesión por primera vez, ya no necesitará una invitación y, en el futuro, debería ver la experiencia de cambio de contraseña. Para ello, cree una Action posterior al inicio de sesión que establezca user.app_metadata.needsInvitation en false:
exports.onExecutePostLogin = async (event, api) => {
    if (event.user.app_metadata.needsInvitation) {
        api.user.setAppMetadata("needsInvitation", false);
    }
};

4. Enviar invitaciones a usuarios

Para enviar una invitación a un usuario, cree un nuevo usuario de base de datos de Auth0 desde el Dashboard o use el endpoint Create a User de la Management API y:
  • Establezca el parámetro user.email_verified en false.
  • Establezca user.app_metadata.needsInvitation en true.
A continuación, llame al endpoint Change password de la Authentication API para enviar el correo electrónico de invitación al usuario.

Más información

Para controlar a dónde se redirige al usuario después de establecer la contraseña: Para obtener más información sobre la configuración del correo electrónico, consulta: