我可以通过REST访问Firebase实时数据库安全规则吗?

时间:2020-03-02 00:55:16

标签: firebase testing google-cloud-firestore firebase-cli

我正在寻求对我的安全规则进行仿真测试,当前文档建议将您的规则加载到文件中,然后将该文件读取到仿真器中。

const rules = fs.readFileSync("database.rules.json", "utf8");

我希望从项目中加载最新的安全规则,以便我知道对它所做的任何更改都可以立即进行测试并且可以正常工作。

是否可以通过REST访问安全规则?

2 个答案:

答案 0 :(得分:1)

根据参考文档,您可以retrieve security rules via a REST GET call。从那里:

curl 'https://[PROJECT_ID].firebaseio/.settings/rules.json?auth=FIREBASE_SECRET'
curl -X PUT -d '{ "rules": { ".read": true } }' 'https://[PROJECT_ID].firebaseio/.settings/rules.json?auth=FIREBASE_SECRET'

答案 1 :(得分:1)

我将指出:这并不是仿真器设计的真正工作方式。这个想法是,应该在部署规则之前之前在本地测试您的规则,这样您才不会在生产中破坏您的应用程序。部署后,通过对实际数据库发出查询来测试规则将更有意义。

也就是说,如果这确实是您要远程访问的规则,则可以使用REST API,您可以免费使用任何nodejs HTTP库将它们加载到测试工具中。