#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()
загружены файлы и.