firestore 安全规则 request.auth.uid == userId 不断返回“模拟读取被拒绝”

Mee*_*eep 2 firebase firebase-security firebase-authentication firebase-console google-cloud-firestore

我正在尝试让 request.auth.uid == userId 进行测试,但我收到“模拟读取被拒绝”。

在输入这个问题之前,我检查了所有的基本问题 -

在此处输入图片说明

您是否部署了安全规则?

我通过 fireconsole 部署了规则(单击发布按钮并等待一分钟)。

您是否已使用 Firebase 身份验证登录?

我还没有实施这项工作,我正在尝试通过在控制台中使用模拟器来测试安全规则。

我尝试了下面的基本规则,效果很好。

如果 request.auth.uid != null;

在此处输入图片说明

以下是我的测试截图 -

在此处输入图片说明

Dou*_*son 5

使用安全规则模拟器时,您需要输入要阅读的文档的准确完整路径。您不能使用通配符。现在,您正尝试在文档路径中使用通配符:“/users/{userId}” 这行不通。这使得规则中的 userId 变量变成了字符串“{userId}”。您需要做的是将要测试的文档的实际 ID 粘贴到表单中。这将是以“JoF”开头的 UID。

顺便说一句:您不需要部署规则来在模拟器中测试它们。只有在测试它们之后,您才能选择部署它们。