我正在努力使用基本的Firebase安全概念。例如,假设我使用Firebase作为其数据存储,我的网络应用程序的两个(最终)google身份验证(使用OAUTH)用户;用户 alice@gmail.com 和 bob@gmail.com 。我知道他们最终会登录,当他们这样做时,我会使用Google OAuth工具对firebase进行身份验证。两者都没有使用我的Firebase应用。此外,当他们做登录时,我相信Google的OAUTH服务正在验证声称是bob@gmail.com的人实际上是bob,至少在他知道bob的密码的情况下Google的身份服务。
假设我想创建一个包含三个节点的firebase文档集合,这样alice和bob都可以读取节点1中的文档(但其他经过身份验证或未经身份验证的用户不能);所有用户,包括未经身份验证的用户,都可以读取节点2中的文档但不能写入它们;但只有bob@gmail.com可以在任何节点中写入任何文档(Bob是“超级用户”。)
但是,当我在Firebase和其他地方查看各种示例时,我会陷入困境:我想在之前设置这些firebase规则 alice或bob登录到我的Firebase支持的应用程序第一次。因此,虽然我最初知道他们的Gmail地址,但我(还)不知道他们唯一的用户ID。我遇到的所有例子似乎都依赖于这样一个事实:我事先知道了他们的UID的价值(例如答案here中的例子,其中指定了john和mary的twitter UID,例如john's是twitter: 2544215)
如何在这些用户初次登录之前为Firebase定义安全规则;也就是说,如果我(还)知道bob@gmail.com的UID是2544215怎么办?
我希望有人可以展示安全规则示例的片段。