从Web访问firebase数据库

时间:2017-04-27 08:41:12

标签: javascript firebase firebase-realtime-database

我想从网络访问我的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密钥,或将其限制在特定的网页上 - 遗憾的是没有运气。

1 个答案:

答案 0 :(得分:3)

在安全规则中使用auth != null将拒绝访问未经身份验证的用户。

您已拨打initializeApp,但除非您之后调用signIn... methods之一,否则您将无法获得经过身份验证的用户,并且访问权限将被拒绝安全规则。