Manage Email/Password Users - React Native SDK¶
Register a New User Account¶
To register a new email/password user, pass the user's email address and desired password to EmailPasswordAuth.registerUser(). The email address must not be associated with another email/password user and the password must be between 6 and 128 characters.
const email = "email@example.com"; const password = "Pa55w0rd"; await app.emailPasswordAuth.registerUser(email, password);
You must confirm a new user's email address before they can log in to your app.
Confirm a New User's Email Address¶
New users must confirm that they own their email address before they can log in to your app unless the provider is configured to automatically confirm new users.
Send a Confirmation Email¶
If the provider is configured to send a confirmation email, MongoDB Realm automatically sends a confirmation email when a user registers. The email contains a link to the configured Email Confirmation URL with a token that is valid for 30 minutes after the email is sent. If a user did not receive the initial email or didn't click the confirmation link in time, you can use the SDK to send a new confirmation email to the user.
To send a new confirmation email to a user, pass their email address to EmailPasswordAuth.resendConfirmationEmail().
const email = "firstname.lastname@example.org"; // The user's email address await app.emailPasswordAuth.resendConfirmation(email);
Complete a User Confirmation¶
You need a valid
tokenId for a registered user in order to
confirm them and allow them to log in. These values are available in different
places depending on the provider configuration:
- If the provider is set to send a confirmation email, the
tokenIdvalues are included as query parameters in the Email Confirmation URL.
- If the provider is set to run a confirmation function, the
tokenIdvalues are passed to the function as arguments.
To confirm a registered user, pass a valid
await app.emailPasswordAuth.confirmUser(token, tokenId);
Reset a User's Password¶
Send a Password Reset Email¶
// The user's email address const email = "email@example.com" await app.emailPasswordAuth.sendResetPasswordEmail(email);
Call a Password Reset Function¶
To run a password reset function (if the provider is configured to do so), pass the user's email address, new password, and any additional function arguments to EmailPasswordAuth.callResetPasswordFunction().
// The user's email address const email = "firstname.lastname@example.org"; // The new password to use const password = "newPassw0rd"; // Additional arguments for the reset function const args = ; await app.emailPasswordAuth.callResetPasswordFunction(email, password, args);
Complete a Password Reset¶
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
tokenId values that they can use to complete the password
reset within 30 minutes of the initial request.
To complete the password reset, pass the
tokenId, and new
password to EmailPasswordAuth.resetPassword().
await app.emailPasswordAuth.resetPassword("newPassw0rd", token, tokenId);