我想从网络访问我的Firebase数据库:
从控制台复制的配置:
var config = {
apiKey: "AI***********************************98",
authDomain: "t*****.firebaseapp.com",
databaseURL: "https://t*****.firebaseio.com",
projectId: "t*****",
storageBucket: "t*****.appspot.com",
messagingSenderId: "224202513016"
};
firebase.initializeApp(config);
然而致电:
firebase.database().ref('/calibration/temperature').once('value').then(function(snapshot) {
console.log(snapshot);
});
结果:
Uncaught (in promise) Error: permission_denied at /calibration/temperature: Client doesn't have permission to access the desired data.
我在DB中的规则:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
我尝试使用不同的API密钥,或将其限制在特定的网页上 - 遗憾的是没有运气。
答案 0 :(得分:3)
在安全规则中使用auth != null
将拒绝访问未经身份验证的用户。
您已拨打initializeApp
,但除非您之后调用signIn...
methods之一,否则您将无法获得经过身份验证的用户,并且访问权限将被拒绝安全规则。