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
/ /
Administrar usuarios

Vincular identidades de usuario - Java SDK

Realm proporciona Muchos proveedores de autenticación permiten a los usuarios iniciar sesión en tu aplicación. Cada proveedor crea una identidad de usuario única. Realm te permite combinar varias credenciales en una sola.

Credentials must be linked prior to logging a user in. Once credentials are used to login a user, you cannot link that credential anymore. Also, you cannot link multiple email/password credentials together.

Considere una aplicación que ofrece inicio de sesión anónimo, lo que permite a los usuarios explorar la aplicación sin registrarse. Si un usuario desea continuar usando la aplicación, puede crear una cuenta permanente con otro proveedor de autenticación. Realm crea una nueva cuenta. User objeto. La aplicación puede entonces vincular la nueva identidad con el usuario actual.

Nota

Dependiendo de cómo haya configurado la autenticación de correo electrónico/contraseña, puede haber pasos adicionales (confirmar la dirección de correo electrónico, por ejemplo) antes de que se cree la nueva cuenta y se pueda vincular.

Vinculas identidades usando linkCredentials() o linkCredentialsAsync(). Esto conecta la nueva identidad de usuario al objeto de Usuario que ha iniciado sesión.

// The user has previously created an email/password account
user.linkCredentialsAsync(
Credentials.emailPassword(email, password), result -> {
if (result.isSuccess()) {
Log.v("EXAMPLE", "Successfully linked existing user " +
"identity with email/password user: " + result.get());
} else {
Log.e("EXAMPLE", "Failed to link user identities with: " +
result.getError());
}
});
// The user has previously created an email/password account
user.linkCredentialsAsync(
Credentials.emailPassword(
email,
password
)
) { result ->
if (result.isSuccess) {
Log.v(
"EXAMPLE",
"Successfully linked existing user identity " +
"with email/password user: ${result.get()}"
)
} else {
Log.e(
"EXAMPLE",
"Failed to link user identities with: ${result.error}"
)
}
}

Volver

Multi-User Applications

En esta página