Wie werden mehrere Auth Provider mit einem Firebase Account verknüpft?

8

Ich kann das nicht erfolgreich durchführen. Ich habe die folgenden Schritte wie in Firebase Docs ausgeführt ausgeführt:

  1. Unter Verwendung des vorhandenen Auth-Providers angemeldet ( mein Fall: facebook ).
  2. Füllen Sie den Anmeldevorgang für den neuen Authentifizierungsanbieter bis zum Aufruf einer der Auth.signInWith -Methoden aus, aber nicht einschließlich. ( mein Fall: ich möchte E-Mail-Adresse & amp; password und Google OAUth ). Dies ist der Schritt, über den ich mich nicht im Klaren bin. Ich habe einen neuen Provider mit var provider = new firebase.auth.GoogleAuthProvider(); erstellt und nicht Firebase.auth().signInWithPopup(provider) .
  3. Dann, um authcredential für google zu bekommen, führe ich var credential = firebase.auth.GoogleAuthProvider.credential( googleUser.getAuthResponse().id_token); aus ( Ich bekomme einen undefinierten googleUser Fehler ). Dieser Fehler scheint angebracht zu sein, da ich mich nicht mit Google Oauth angemeldet habe. nicht zu signieren)
  4. Und dann dieser Befehl zum Verknüpfen mit dem aktuellen Benutzer, der sich auf einem Facebook-Provider befindet auth.currentUser.link(credential)

Nach meinem Verständnis muss currentUser mit meinem bestehenden Provider (Facebook) verknüpft werden. Scheinbar wird die Berechtigungsvariable für Google nie berechnet. Jeder mit einem funktionalen Codebeispiel würde wirklich helfen.

    
jasan 11.06.2016, 21:07
quelle

1 Antwort

8

Wenn Sie ein Google- und ein E-Mail- / Pass-Konto manuell mit einem vorhandenen Firebase-Benutzer verknüpfen möchten, können Sie Folgendes tun: Zuerst sollte der Benutzer bei Facebook angemeldet sein. Verknüpfen Sie den Google-Nutzer:

%Vor%

Verknüpfen Sie dann den E-Mail / Pass-Account:

%Vor%

Alle diese zu verknüpfenden Konten müssen neu und nicht bereits verknüpft sein.

    
bojeil 13.06.2016, 18:17
quelle