有没有办法找到哪条线在Firestore安全规则中拒绝了访问?

时间:2020-01-30 04:16:52

标签: firebase google-cloud-firestore firebase-security

仅当我未能通过安全规则时,我才会在iOS应用上收到此消息

PERMISSION_DENIED:缺少权限或权限不足。

我在Firebase控制台Firestore规则中编写了320行代码。每当我收到该错误消息时,就很难跟踪我未能通过的规则。有没有办法找出哪条线在Firestore安全规则中拒绝了访问?我在文档中找不到它

2 个答案:

答案 0 :(得分:1)

无法获取有关客户端代码中失败的规则的更多信息。这实际上是设计使然,因为它将为可能的攻击者提供许多其他信息。

查看行失败的最快方法是在Firebase控制台的规则模拟器中重现场景,准确显示出行失败的情况。

答案 1 :(得分:1)

要补充弗兰克所说的内容,您可以使用在本地计算机上运行的security rules emulator以及实现测试套件的代码来获得有关安全规则执行的更多详细信息。这是调试安全规则的最佳方法,因为您将获得全面的输出,描述哪个规则拒绝了访问。

我强烈建议您在部署规则之前使用此工具在本地进行测试,这样可以减少您可能会犯错误并可能影响产品的机会。