Atlas App Services ofrece Múltiples proveedores de autenticación para iniciar sesión en tu app. Cada proveedor crea una identidad de usuario única. App Services te permite combinar varias credenciales en una sola identidad de usuario.
Puedes vincular identidades pasando las Credencialesque desea vincular a User.linkCredentials().
final linkedCredentialUser = await user.linkCredentials(additionalCredentials);
Ejemplo
Considere una aplicación que ofrece inicio de sesión anónimo. Esto permite a los usuarios explorar la aplicación sin registrarse. Si les gusta la aplicación, crean cuentas permanentes. Se registran con SSO o autenticación por correo electrónico y contraseña. De forma predeterminada, esto crea una nueva cuenta. User objeto. La aplicación debe vincular la nueva identidad con el usuario original.
Primero debemos registrar el nuevo usuario de email/contraseña antes de realizar la vinculación.
// on app start without registration final anonymousUser = await app.logIn(Credentials.anonymous()); // ... user interacts with app //... user decides to sign up for app with email/password auth final authProvider = EmailPasswordAuthProvider(app); await authProvider.registerUser(USERNAME, PASSWORD); // link email/password credentials to anonymous user's credentials final linkedCredentialUser = await anonymousUser .linkCredentials(Credentials.emailPassword(USERNAME, PASSWORD));