我正在努力建立一个Firebase后端。在一开始它非常直接,但随着规则的增长,发现安全漏洞更加困难。实际测试规则的选项有哪些?我已经查看了第三方库Targaryen,但无法在OSX上运行它。是否有更常用的方法来测试规则?执行Firebase安全测试的最常用方法是什么?
答案 0 :(得分:6)
如果您还没有看到它,在您的应用的Firebase控制面板中,左侧有许多选项;数据,安全和规则,模拟器;模拟器是你想要的。
在那里,您可以作为用户进行身份验证,然后在不同的子节点上测试读写能力。
我们制作了自己的小应用程序来读取/写入不同的节点:随着我们的应用程序的增长,规则的复杂性也变得更加容易通过应用程序测试20个节点,然后一个模拟器。我们的测试应用程序大约有100行代码。
答案 1 :(得分:3)
我刚刚设置了Bolt,它看起来比通过Firebase用户界面使用标准规则和模拟器更好。
你确实需要实际使用Bolt语法,但我发现它比标准规则要容易得多,特别是如果它们变得越来越复杂,因为Bolt允许你创建函数来重用公共代码进行读/写/验证逻辑。测试对我来说只是一个奖励。
有几点需要注意:
firebase-bolt
但节点可以找到它,除非它在本地安装或链接到全局安装。--ui tdd
文件的"test": "mocha --ui tdd"
部分中将scripts
添加到package.json
,并且您将测试保留在test/test.js
中,那么您只需要运行{{1}运行所有测试。答案 2 :(得分:2)