登录用户后,如何立即将用户数据从Firebase身份验证添加到Firebase实时数据库中?

时间:2019-04-13 13:29:22

标签: javascript firebase-realtime-database firebase-authentication

我正在尝试使用Firebase的实时数据库来实现Firechat。在从Github repository提取的示例代码中,它使用Firebase Realtime数据库存储用户的数据(电子邮件和UID)。我已经在我的Web项目中成功实现了Firebase的用户身份验证系统,我认为使用Firechat并从其Firebase UID中获取用户是个好主意。

问题是,登录用户后,我在Firebase的RTDB中看不到任何数据。

我已经将相关的CDN添加到用户注册页面中。我定义了以下简单规则:

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

这是JavaScript代码(我已经从控制台使用API​​密钥实例化了Firebase):

new Vue ({
    el: '#logreg',
    data: {
        email: null,
        password: '',
        signedUp: false,
        userUID: '',
        errorCode: '',
        errorMessageFlag: false,
    },

    methods: {
        register () {
            firebase.auth().setPersistence(firebase.auth.Auth.Persistence.SESSION).then(() => {
                firebase.auth().createUserWithEmailAndPassword(this.email, this.password).then((signedUp) => {
                    this.signedUp = true;

                    firebase.database().ref('users/' + firebase.auth().currentUser.uid).set({
                        userUID: firebase.auth().currentUser.uid,
                        email: firebase.auth().currentUser.email,
                    });
                })
            });
        },
    },
})

除了添加Firebase API配置外,我在Firechat的示例代码中没有进行任何更改。

0 个答案:

没有答案