我指的是https://firebase.google.com/docs/database/admin/start火力地堡3.6.9錯誤:PERMISSION_DENIED在節點訪問數據庫SDK
我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,一切正常,沒有配置問題。
請記住,[規則不是過濾器(https://firebase.google.com/docs/database/security/固定數據#rules_are_not_filters)。如果你正在查詢'/ users',那麼你需要一個允許在該級別讀取**的規則,而不是在它之下的級別。 – Kato
謝謝@Kato ... – manntsheth