Firebase Admin SDK服务器(node.js)忽略Firebase安全规则

时间:2017-01-05 22:24:54

标签: javascript node.js firebase firebase-realtime-database firebase-security

我一直试图让我的node.js服务器监听我的firebase安全规则,但似乎每次都忽略它们。下面是我的初始化代码。我的服务帐户设置为编辑器,我甚至使用了databaseAuthVariableOveride

var serviceAccount= require("./service-account.json");

    admin.initializeApp({
      credential: admin.credential.cert(serviceAccount),
      databaseURL: "https://example.firebaseio.com",
      databaseAuthVariableOverride: {
         uid: "my-service-account"
        }
    });

以下是我的Firebase数据示例。

    UserInputtedData:
       Region:
         locationID:
            $userSubmissionPushID:
                timeStamp: 1482037224063
                tag:0

我的安全规则如下。我试图让我的节点服务器只读取每个$userSubmissionPushID下的数据,如果它在最后一小时内基于我的timeStamp。我的规则在Firebase安全模拟器中工作,当我在不同的情况下测试它时,但我的服务器似乎只是忽略每个规则,并阅读$locationID内的每个孩子。我甚至尝试了它没有规则"auth.uid === 'my-service-account'

    "userInputtedData": {
        "Region": {
          "$locationID": {
            "$userSubmissionPushID": {
              ".read": "auth.uid === 'my-service-account' && data.child('timeStamp').val() > (now - 3600000)"
         }
      }
   }
 }

如果有人有任何想法,那将非常感激。

感谢。

修改 我应该声明,在激活上述安全规则的情况下,服务器上没有数据可读。它只是说明启动服务器,然后保持空白。

0 个答案:

没有答案