var firebase = require("firebase");
var config = {
apiKey: "***",
authDomain: "***",
databaseURL: "***",
projectId: "***",
storageBucket: "***",
messagingSenderId: "***"
};
firebase.initializeApp(config);
firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
console.log(error.code);
console.log(error.message);
});
firebase.database().ref('/Settings').once('value').then(function(snapshot) {
console.log(snapshot.val().adminID);
});
我写了这段代码来从数据库中读取一些数据,但它给了我一个错误。它说我没有经过身份验证,我该如何解决?
答案 0 :(得分:0)
打开firebase数据库并转到规则部分并在那里添加规则。
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
答案 1 :(得分:0)
不要忘记javascript是异步的,因此您将使用电子邮件和密码进行登录,但是您可能已经无法查询该查询。所以如果你有规则(可能会失败):
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
试试这个:
firebase.auth().signInWithEmailAndPassword(email, password).then( (data) =>
{
// here your query
firebase.database().ref('/Settings').once('value').then(function(snapshot)
{
console.log(snapshot.val().adminID);
});
});