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.
Las credenciales deben vincularse antes de iniciar sesión. Una vez utilizadas, ya no se pueden vincular. Tampoco se pueden vincular varias credenciales de correo electrónico y contraseña.
Ejemplo
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.
Las identidades se vinculan mediante linkCredentials. Esto vincula la nueva identidad del usuario con el usuario conectado.
val app: App = App.create(YOUR_APP_ID) // Replace this with your App ID runBlocking { val user = app.login(Credentials.anonymous()) // logs in with an anonymous user // registers an email/password user app.emailPasswordAuth.registerUser(email, password) // links anonymous user with email/password credentials user.linkCredentials(Credentials.emailPassword(email, password)) }