Как добавить пользовательские данные из аутентификации Firebase в базу данных Firebase в реальном времени сразу после входа пользователя?

#javascript #firebase-realtime-database #firebase-authentication

# #javascript #firebase-realtime-database #firebase-аутентификация

Вопрос:

Я пытаюсь использовать базу данных Firebase в реальном времени для реализации Firechat. В примере кода, взятого из репозитория Github, он использует базу данных Firebase Realtime для хранения данных пользователей (email и UID). Я уже успешно внедрил систему аутентификации пользователей Firebase в своем веб-проекте, и я подумал, что было бы неплохо использовать Firechat и получать пользователей из их Firebase UID.

Проблема в том, что я не вижу никаких данных в RTDB Firebase, когда я регистрирую пользователя.

Я уже добавил соответствующие CDN на страницу регистрации пользователя. Я определил простые правила следующим образом:

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

Вот код JavaScript (я уже создал экземпляр Firebase с помощью ключа API из консоли):

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

Я ничего не изменил в примере кода Firechat, кроме добавления конфигураций API Firebase.

Комментарии:

1. Если вы просто делаете register () { firebase.database().set(true); } , записывает ли это что-нибудь в базу данных?

2. Что говорит журнал веб-консоли?

3. @FrankvanPuffelen, консоль браузера теперь показывает ошибку TypeError: firebase.database(...).set is not a function . До этого в консоли браузера не было ошибок.

4. Возможно, вам захочется запустить отладчик и проверить firebase , правильно ли firebase.database() загружены файлы и.