Docs Menu
Docs Home
/ /
Administrar usuarios

Gestionar usuarios Email/Password - Java SDK

Cuando haya habilitado el Proveedor de correo electrónico/contraseña en su aplicación, puede registrar una nueva cuenta, confirmar una dirección de correo electrónico y restablecer la contraseña de un usuario desde el código de cliente.

Para registrar un nuevo usuario, pase un correo electrónico y una contraseña proporcionados por el usuario a los métodos registerUser() o registerUserAsync() de su Realm AppInstancia de EmailPasswordAuth de:

app.getEmailPassword().registerUserAsync(email, password, it -> {
if (it.isSuccess()) {
Log.i("EXAMPLE", "Successfully registered user.");
} else {
Log.e("EXAMPLE", "Failed to register user: " + it.getError().getErrorMessage());
}
});
app.emailPassword.registerUserAsync(email, password) {
if (it.isSuccess) {
Log.i("EXAMPLE","Successfully registered user.")
} else {
Log.e("EXAMPLE","Failed to register user: ${it.error}")
}
}

Para confirmar un usuario recién creado, pase una confirmación token y tokenId a los métodos confirmUser() o confirmUserAsync() de la App instancia EmailPasswordAuth de su Realm:

// token and tokenId are query parameters in the confirmation
// link sent in the confirmation email.
app.getEmailPassword().confirmUserAsync(token, tokenId, it -> {
if (it.isSuccess()) {
Log.i("EXAMPLE", "Successfully confirmed new user.");
} else {
Log.e("EXAMPLE", "Failed to confirm user: " + it.getError().getErrorMessage());
}
});
// token and tokenId are query parameters in the confirmation
// link sent in the confirmation email.
app.emailPassword.confirmUserAsync(token, tokenId) {
if (it.isSuccess) {
Log.i("EXAMPLE", "Successfully confirmed new user.")
} else {
Log.e("EXAMPLE", "Failed to register user: ${it.error}")
}
}

Tip

Para acceder a los token tokenId valores y enviados en el correo electrónico de confirmación del usuario, puede utilizar un asunto de correo electrónico de confirmación personalizado que contenga un enlace profundo.

Para restablecer una contraseña de usuario en Sync, puede:

  • Enviar un correo electrónico para restablecer la contraseña

  • Ejecutar una función de restablecimiento de contraseña

Seleccione su método preferido de restablecimiento de contraseña yendo a:

  1. Tu aplicación

  2. Authentication

  3. Authentication Providers

  4. Email/Password - y presione el botón EDIT

Para restablecer la contraseña de un usuario, primero envíele al usuario un correo electrónico de restablecimiento de contraseña con sendResetPasswordEmail() o sendResetPasswordEmailAsync():

app.getEmailPassword().sendResetPasswordEmailAsync(email, it -> {
if (it.isSuccess()) {
Log.i("EXAMPLE", "Successfully sent the user a reset password link to " + email);
} else {
Log.e("EXAMPLE", "Failed to send the user a reset password link to " + email + ": " + it.getError().getErrorMessage());
}
});
app.emailPassword.sendResetPasswordEmailAsync(email) {
if (it.isSuccess) {
Log.i("EXAMPLE", "Successfully sent the user a reset password link to $email")
} else {
Log.e("EXAMPLE", "Failed to send the user a reset password link to $email: $it.error")
}
}

Los correos electrónicos de restablecimiento de contraseña contienen dos valores: token y. Para completar el proceso, solicite al usuario que introduzca una nueva contraseña y pase los tokenId token tokenId valores y junto con la nueva contraseña a los App métodos resetPassword() o resetPasswordAsync() de la instancia EmailPasswordAuth de su dominio:

// token and tokenId are query parameters in the confirmation
// link sent in the password reset email.
app.getEmailPassword().resetPasswordAsync(token, tokenId, newPassword, it -> {
if (it.isSuccess()) {
Log.i("EXAMPLE", "Successfully updated password for user.");
} else {
Log.e("EXAMPLE", "Failed to reset user's password: " + it.getError().getErrorMessage());
}
});
// token and tokenId are query parameters in the confirmation
// link sent in the password reset email.
app.emailPassword.resetPasswordAsync(token, tokenId, newPassword) {
if (it.isSuccess) {
Log.i("EXAMPLE", "Successfully updated password for user.")
} else {
Log.e("EXAMPLE", "Failed to reset user's password: $it.error")
}
}

Tip

Para acceder a los token tokenId valores y enviados en el correo electrónico de restablecimiento de contraseña, puede utilizar un asunto de correo electrónico de restablecimiento de contraseña personalizado que contenga un enlace profundo.

Al configurar tu aplicación para ejecutar una función de restablecimiento de contraseña, definirás la función que debe ejecutarse al llamar a callResetPasswordFunction() o callResetPasswordFunctionAsync() desde el SDK. Esta función puede aceptar un nombre de usuario, una contraseña y cualquier número de argumentos adicionales. Puedes usar estos argumentos para especificar detalles como las respuestas a las preguntas de seguridad u otras pruebas que el usuario debe superar para restablecer la contraseña correctamente.

Quizás prefiera usar una función de restablecimiento de contraseña personalizada si desea definir sus propios flujos de restablecimiento de contraseña. Por ejemplo, puede enviar un correo electrónico de restablecimiento de contraseña personalizado desde un dominio específico o a través de un servicio distinto del correo electrónico.

Tip

Para obtener más información sobre cómo definir una función de restablecimiento de contraseña personalizada en su aplicación, consulte: Ejecutar una función de restablecimiento de contraseña.

String newPassword = "newFakePassword";
String[] args = {"security answer 1", "security answer 2"};
app.getEmailPassword().callResetPasswordFunctionAsync(email, newPassword, args, it -> {
if (it.isSuccess()) {
Log.i("EXAMPLE", "Successfully reset the password for" + email);
} else {
Log.e("EXAMPLE", "Failed to reset the password for" + email + ": " + it.getError().getErrorMessage());
}
});
val newPassword = "newFakePassword"
val args = arrayOf("security answer 1", "security answer 2")
app.emailPassword.callResetPasswordFunctionAsync(email, newPassword, args) {
if (it.isSuccess) {
Log.i("EXAMPLE", "Successfully reset the password for $email")
} else {
Log.e("EXAMPLE", "Failed to reset the password for $email: $it.error")
}
}

Volver

Datos de usuario personalizados

En esta página