【问题标题】:firebase facebook auth get user datafirebase facebook auth 获取用户数据
【发布时间】:2023-03-19 09:48:01
【问题描述】:

我正在使用 firebase 身份验证系统在我的 ionic 应用上使用 facebook 登录。

我正在尝试在用户使用数据库登录后获取配置文件数据并将其保存到数据库中。您可以使用以下代码检查我如何做到这一点。

用户可以登录成功,但不能将数据设置到数据库中。 我该如何解决?

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);
});

}

【问题讨论】:

    标签: firebase ionic-framework firebase-realtime-database firebase-authentication


    【解决方案1】:

    请注意,您使用的是异步函数,您应该在成功登录后将记录插入数据库。

    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);
                });
            });
        });
    
    }
    

    【讨论】:

      猜你喜欢
      • 2018-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      • 2020-01-01
      • 1970-01-01
      • 2017-12-14
      相关资源
      最近更新 更多