【发布时间】:2017-02-24 17:07:42
【问题描述】:
我指的是https://firebase.google.com/docs/database/admin/start
我有如下提到的node.js 代码:
var admin = require("firebase-admin");
var serviceAccount = require('mySdkJSONFile');
admin.initializeApp({
credential: admin.credential.cert({
projectId: "myProjectId",
clientEmail: "myClientEmail",
apiKey: "myApiKey",
privateKey: "myPrivateKey"
}),
databaseURL: "....",
databaseAuthVariableOverride: {
uid: "my-service-worker"
}
});
var db = admin.database();
var usersDB = db.ref("/users");
usersDB.set({
name: "myName",
date: "yesterday"
});
并且在数据库中规则设置为
{
"rules": {
"public": {
".read": false,
".write": false
},
"users": {
"$uid": {
".read": "auth.uid == 'my-service-worker'",
".write": "auth.uid == 'my-service-worker'"
}
}
}
}
如果我将“/user”的读写权限设置为true,一切正常,没有配置问题。
【问题讨论】:
-
请记住rules are not filters。如果您正在查询
/users,那么您需要一个允许在该级别而不是在其下一级进行读取访问的规则。
标签: javascript firebase firebase-security