> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Implementar invitaciones de usuarios para el registro en aplicaciones mediante correos de restablecimiento de contraseña

> Cómo implementar una forma de invitar a usuarios a registrarse para obtener una cuenta en una aplicación de Auth0.

<Warning>
  ¿Busca cómo invitar usuarios a una Organización? Lea [Invitar a miembros de la Organización](/es/docs/manage-users/organizations/configure-organizations/invite-members).
</Warning>

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.

<div id="implementing-user-invitations-for-application-sign-up-on-auth0">
  ## Implementación de invitaciones de usuarios para el registro en aplicaciones con Auth0
</div>

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](/es/docs/customize/email/smtp-email-providers) de su inquilino.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  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](https://auth0.com/docs/api/management/v2/tickets/post-password-change) 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.
</Callout>

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.

<div id="1-customize-the-password-change-email-template">
  ### 1. Personaliza la plantilla del correo electrónico de cambio de contraseña
</div>

Primero, [personaliza la plantilla del correo electrónico de cambio de contraseña (enlace)](/es/docs/customize/email/email-templates/customize-email-templates) para admitir tanto los flujos de invitación de usuarios como los de cambio de contraseña.

[Usa Liquid](/es/docs/customize/email/email-templates/supported-liquid-syntax) para comprobar si está configurada la propiedad de metadatos del usuario correspondiente a una invitación pendiente y enviar el mensaje adecuado. Por ejemplo:

```liquid lines theme={null}
{% 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`.

<div id="2-style-the-password-reset-page">
  ### 2. Dar estilo a la página de restablecimiento de contraseña
</div>

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](/es/docs/customize/login-pages/universal-login). Para obtener instrucciones sobre Classic Login, consulta [Personalizar la página de restablecimiento de contraseña](/es/docs/customize/login-pages/classic-login/customize-password-reset-page).

<div id="3-create-a-post-login-action-to-unset-the-invitation-property">
  ### 3. Cree una Action posterior al inicio de sesión para desactivar la propiedad de invitación
</div>

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](/es/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger) que establezca `user.app_metadata.needsInvitation` en `false`:

```javascript theme={null}
exports.onExecutePostLogin = async (event, api) => {
    if (event.user.app_metadata.needsInvitation) {
        api.user.setAppMetadata("needsInvitation", false);
    }
};
```

<div id="4-send-user-invitations">
  ### 4. Enviar invitaciones a usuarios
</div>

Para enviar una invitación a un usuario, [cree un nuevo usuario de base de datos de Auth0 desde el Dashboard](/es/docs/authenticate/database-connections) o use el [endpoint Create a User](https://auth0.com/docs/api/management/v2/#!/Users/post_users) 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](https://auth0.com/docs/api/authentication/change-password/change-password) de la Authentication API para enviar el correo electrónico de invitación al usuario.

<div id="learn-more">
  ## Más información
</div>

Para controlar a dónde se redirige al usuario después de establecer la contraseña:

* En Universal Login, [personaliza la ruta de inicio de sesión del flujo de restablecimiento de contraseña](/es/docs/authenticate/login/auth0-universal-login/configure-default-login-routes#complete-password-reset-flow).

* En Classic Login, configura el campo **Redirect To** en la plantilla de correo electrónico.

Para obtener más información sobre la configuración del correo electrónico, consulta:

* [Personaliza las plantillas de correo electrónico](/es/docs/customize/email/email-templates)

* [Configura proveedores externos de correo electrónico SMTP](/es/docs/customize/email/smtp-email-providers)
