Firestore 安全规则获取与列表

时间:2021-03-07 06:46:29

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

假设我试图让网页只有在用户拥有指向该网页的确切链接时才可读,我是否可以使用文档 ID 和安全规则的组合来实现这一点,如下所示?

例如。我有文档存储在

/posts/{postID}

我设置了安全规则:

match /posts/{postID} {
  allow get, write: if true;
  allow list: if false;
}

简单地禁用“列表”操作是否会使您只能在已经知道其确切 ID 的情况下访问文档?对我来说似乎是这种情况,但我不确定我是否遗漏了任何边缘情况。

1 个答案:

答案 0 :(得分:2)

<块引用>

只要禁用“列表”操作,您就可以 只有在您已经知道其确切 ID 的情况下才能访问文档?

是的,这是正确的。

posts 集合的任何查询都将返回“权限缺失或不足”错误,即使是使用确切 ID 进行查询的查询,例如:

  firebase
    .firestore()
    .collection('posts')
    .where('__name__', '==', 'exactID')
    .get()