Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Gestión de usuarios

Manage Email/Password Users - Web SDK

El Web SDK incluye un objeto cliente que permite gestionar los usuarios asociados a la Email/Password authentication provider.

Para registrar un nuevo usuario de correo electrónico/contraseña, llame al registerUser() Método con la dirección de correo electrónico del usuario y la contraseña deseada. La dirección de correo electrónico no debe estar asociada a otro usuario de correo electrónico/contraseña y la contraseña debe tener entre 6 y 128 caracteres.

const email = "someone@example.com";
const password = "Pa55w0rd!";
await app.emailPasswordAuth.registerUser({ email, password });

Nota

Confirm New Users

Debes confirmar la dirección de correo electrónico de un nuevo usuario antes de que pueda iniciar sesión en tu aplicación.

Los nuevos usuarios deben confirmar que poseen su dirección de correo electrónico antes de poder iniciar sesión en su aplicación, a menos que el proveedor esté configurado para confirmar automáticamente a los nuevos usuarios.

Si el proveedor está configurado para enviar un correo electrónico de confirmación, Atlas App Services envía automáticamente un correo electrónico de confirmación cuando un usuario se registra. El correo electrónico contiene un enlace a la configuración. Email Confirmation URL Con un token válido durante 30 minutos tras el envío del correo electrónico. Si un usuario no recibió el correo electrónico inicial o no hizo clic en el enlace de confirmación a tiempo, puede usar el SDK para reenviar un correo de confirmación.

Alternatively, if the provider is configured to run a confirmation function, App Services automatically runs your custom Atlas Function when a user registers. If the call to the custom confirmation function fails, you can use the SDK to retry a user confirmation function.

Necesitas un token y tokenId válidos para un usuario registrado para poder confirmarlos y permitirles iniciar sesión. Estos valores están disponibles en diferentes lugares según la configuración del proveedor:

To confirm a registered user, call the confirmUser() method with the user's valid token and tokenId:

await app.emailPasswordAuth.confirmUser({ token, tokenId });

El SDK proporciona métodos para volver a enviar correos electrónicos de confirmación de usuario o reintentar métodos de confirmación personalizados.

Para reenviar el correo electrónico de confirmación a un usuario, llame al método resendConfirmationEmail() con la dirección de correo electrónico del usuario:

const email = "someone@example.com"; // The user's email address
await app.emailPasswordAuth.resendConfirmationEmail({ email });

New in version Realm: Web v1.4.0

Para volver a ejecutar su función de confirmación personalizada, llame al retryCustomConfirmation() método con la dirección de correo electrónico del usuario:

const email = "someone@example.com"; // The user's email address
await app.emailPasswordAuth.retryCustomConfirmation({ email });

If the provider is configured to send a password reset email, you can use the SDK to send a password reset email to a user. The email contains a link to the configured Password Reset URL.

// The user's email address
const email = "joe.jasper@example.com";
await app.emailPasswordAuth.sendResetPasswordEmail({ email });

Si el proveedor está configurado para ejecutar una función de restablecimiento de contraseña, puede usar el SDK para ejecutarla. Pase un objeto con el correo electrónico del usuario y la nueva contraseña. También puede incluir argumentos adicionales para usar en la función de restablecimiento de contraseña en el backend de App Services.

// The user's email address
const email = "joe.jasper@example.com";
// The new password to use
const password = "newPassw0rd";
// Additional arguments for the reset function
const args = [];
await app.emailPasswordAuth.callResetPasswordFunction(
{ email, password },
...args
);

Once a user requests a password reset, either by sending a password reset email or calling a password reset function, Realm generates a pair of unique token and tokenId values that they can use to complete the password reset within 30 minutes of the initial request.

await app.emailPasswordAuth.resetPassword({
password: "newPassw0rd",
token,
tokenId,
});

Ejemplo

Obtener el token y el TokenID

If the provider uses the built-in password reset email, the token and tokenId are included as query parameters in the password reset URL. You can access them like so:

const params = new URLSearchParams(window.location.search);
const token = params.get("token");
const tokenId = params.get("tokenId");
if (!token || !tokenId) {
throw new Error(
"You can only call resetPassword() if the user followed a confirmation email link"
);
}

Volver

Autenticar a un usuario - Web SDK

En esta página