0

Es ist mir gelungen, einen Benutzer anonym und mit Google/Facebook anzumelden.Angularfire2 Anonymen Benutzer mit Facebook/Google-Konto verbinden

user.service.ts:

loginFacebook() { 
    this.af.auth.login({ 
     provider: AuthProviders.Facebook, 
     method: AuthMethods.Popup, 
    }); 
} 
loginGoogle() { 
    this.af.auth.login({ 
     provider: AuthProviders.Google, 
     method: AuthMethods.Popup, 
    }); 
} 
loginAnonymous() { 
    this.af.auth.login({ 
     provider: AuthProviders.Anonymous, 
     method: AuthMethods.Anonymous, 
    }); 
} 

Aber das, was ich tun würde, ist die anonymen Benutzer mit den Facebook-Nutzer zu fusionieren.

Denn das, was geschehen ist jetzt:
Anonymous user => UUID 1
anonyme Benutzer (UUID 1) => log facebook/google => fb Benutzer (UUID 2)

Also ich habe 2 verschiedene UUID in der Datenbank für den gleichen Benutzer.

Wissen Sie, wie man das mit AngularFire2 macht?

Dank

Antwort

0

Nachdem Sie den anonymen Benutzer anmelden, wenn der Benutzer auf einen Facebook/Google-Konto aktualisieren, versuchen Sie zunächst zu verknüpfen. Rufen Sie anonymousUser.linkWithPopup (facebookProvider) auf. Das wird entweder gelingen oder es wird ein Fehler ausgelöst, dass der Facebook-Benutzer existiert. In diesem Fall enthält der Fehler die Facebook-Anmeldedaten. Sie können dann SignWinCredential (error.credential) signieren und den anonymen Benutzer manuell mit dem Facebook-Benutzer zusammenführen (Daten von einem zum anderen kopieren) und dann den anonymen Benutzer löschen.

Verwandte Themen