0

Ich benutze Firebase Auth-System für die Anmeldung mit Facebook auf meiner ionischen App.Firebase Facebook Auth Benutzerdaten erhalten

Ich versuche, Profildaten zu erhalten und in Datenbank nach Benutzeranmeldung mit Datenbank zu speichern. Sie können überprüfen, wie kann ich das mit dem folgenden Code tun.

Der Benutzer kann sich erfolgreich anmelden, aber er kann keine Daten in der Datenbank speichern. Wie kann ich das lösen?

loginWithFacebook() { 

this.facebook.login(['email']).then((response) => { 
    let credintial = firebase.auth.FacebookAuthProvider.credential(response.authResponse.accessToken); 
    firebase.auth().signInWithCredential(credintial).then(info => { 
    this.userEmail = info['email']; 
    this.userName = info['displayName']; 
    this.userUid = info['uid']; 
    }); 
}); 

this.afDatabase.database.ref(`dump/${this.userUid}`).set({ 
    username: this.userName, 
    email: this.userEmail, 
    uid: this.userUid, 
    wallet: 0 
}).then(data => { 
    this.navCtrl.setRoot(TabsPage); 
}); 

} 

Antwort

0

sollten sich bewusst sein, dass Sie eine asynchrone Funktion verwenden und Sie sollten den Datensatz in die Datenbank nach dem erfolgreichen Login einfügen.

loginWithFacebook() { 

    this.facebook.login(['email']).then((response) => { 
     let credintial = firebase.auth.FacebookAuthProvider.credential(response.authResponse.accessToken); 
     firebase.auth().signInWithCredential(credintial).then(info => { 
      this.userEmail = info['email']; 
      this.userName = info['displayName']; 
      this.userUid = info['uid']; 
      this.afDatabase.database.ref(`dump/${this.userUid}`).set({ 
       username: this.userName, 
       email: this.userEmail, 
       uid: this.userUid, 
       wallet: 0 
      }).then(data => { 
       this.navCtrl.setRoot(TabsPage); 
      }); 
     }); 
    }); 

} 
Verwandte Themen