Vincular identidades de usuário - Java SDK
Nesta página
O Realm fornece muitos fornecedores de autenticação para conectar usuários ao seu aplicativo. Cada fornecedor cria uma identidade de usuário exclusiva. O Realm permite mesclar várias credenciais em uma identidade de usuário.
As credenciais devem ser vinculadas antes de um usuário ser conectado. Depois que as credenciais forem usadas para conectar um usuário, você não poderá mais vincular essa credencial. Além disso, você não pode vincular várias credenciais de e-mail/senha juntas.
Exemplo
Considere um aplicativo que ofereça login anônimo, que permite aos usuários explorar o aplicativo sem se registrar. Se um usuário quiser continuar usando o aplicativo, ele poderá criar uma conta permanente usando outro fornecedor de autenticação. O Realm cria um novo objeto User
. O aplicativo pode então vincular a nova identidade ao usuário atual.
Observação
Dependendo de como você configurou a autenticação de e-mail/senha, pode haver etapas adicionais (confirmação do endereço de e-mail, por exemplo) antes que a nova conta seja criada e possa ser vinculada.
Você vincula identidades usando linkCredentials() ou linkCredentialsAsync(). Isso vincula a nova identidade de usuário ao objeto de usuário conectado.
// 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}" ) } }