Firestore 规则覆盖率报告 - 从未评估过的请求表达式

Sni*_*der 7 firebase firebase-security google-cloud-firestore

最近我一直在为我的新应用程序使用 firebase。由于您可以在 firestore 上定义自己的规则,因此我想尝试一下。

为了测试这些规则,我正在运行 firestore 模拟器。当我尝试授权某个测试用户时,我总是收到超时错误。想自己解决这个错误,我做了一些研究。

我发现可以看到“Firestore Rule Coverage Report”,在里面我看到了这个:

Firestore 规则覆盖率报告的错误消息

但是因为我是 firestore 的新手,所以我不知道这是什么,而且经过一些谷歌搜索后我没有找到如何解决这个问题。

Jes*_*sta 1

Firestore 文档有点令人困惑。他们声明 URL 应该是:

http://localhost:8080/emulator/v1/projects/<database_name>:ruleCoverage.html

但是,他们没有解释<database_name>应该用您的project_id. 是的...阅读 URL 有些事情可能是显而易见的,但实际上参数名称应该让它变得显而易见。另外,在 Firestore 中,数据库不是通过名称创建或访问的。

解决方案:

<database_name>应替换为您的project_id(该值可在文件.firebasercgoogle-services.json

因此,如果您project_idmy-amazing-app,则您的 RulesCoverage url 将是: http://localhost:8080/emulator/v1/projects/my-amazing-app:ruleCoverage.html