允许未注册用户查询Firestore以检查电子邮件是否已存在

时间:2020-01-16 09:33:07

标签: google-cloud-firestore firebase-security

现在,在我的Firestore规则中,只有注册用户具有对我的项目的读/写访问权限。但是,我还想在注册过程中验证电子邮件是否已经存在,这意味着匿名用户也可以访问我的“用户”数据。

从安全的角度来看,我不确定这是如何合规的。我是否应该创建类似“电子邮件”的集合并在此处复制所有电子邮件地址,并允许匿名用户对此进行查询?

1 个答案:

答案 0 :(得分:1)

是的,这确实是典型的方法。将您希望匿名访问的数据复制到一个单独的集合中,并在那里授予更广泛的访问限制。

在该电子邮件地址收集规则中,您通常将use granular rules允许阅读每个特定文档,但不允许列出所有文档。像这样:

match /emails/{email} {
  // Applies to single document read requests
  allow get: if <condition>;

  // Applies to queries and collection read requests
  allow list: if false;
}

这意味着一旦用户键入了特定的电子邮件地址,您就可以检查该电子邮件地址是否存在文档。但是他们不能仅仅从集合中获取所有文档来刮擦用户群。