我已经设置了 firestore 数据库并使用 firebase cli 向该数据库发布了一些安全规则。但是规则仅在模拟器中有效,从客户端这些规则不起作用。即使我阻止了对数据库的所有读/写访问,客户端也没有反映任何更改(使用 firestore nodejs 客户端库)。以下规则本身在客户端不起作用。rules_version = '2';service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } }}在我的 nodejs 代码中 const {Firestore} = require('@google-cloud/firestore'); const db = new Firestore(); db.collection("users").add({ usertype: req.body.usertype, email : req.body.email, fullname: req.body.fullname, created_on : new Date() });我可以将新用户添加到用户集合中,即使我使用上面定义的规则阻止数据库访问,但在模拟器中这些规则有效。是否有我遗漏的任何设置或预配置?请指导我修复相同的问题。
1 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
所有服务器 SDK(包括节点的“@google-cloud/firestore”)都绕过安全规则。规则仅适用于使用这些平台的 Firebase 特定 SDK 从网络或移动客户端(例如,Android、iOS、浏览器 JavaScript)访问时。
添加回答
举报
0/150
提交
取消