以编程方式设置基于角色的访问

时间:2019-06-10 16:59:38

标签: android firebase firebase-realtime-database

我在Android上开发了一个使用Firebase实时数据库的应用程序。又名DB中的多个节点存储了我的应用收集的各种数据。对于Auth,基于电子邮件/密码的登录和注册工作正常。当我注册新用户时,身份验证有效,但随后需要授予该新用户对应用程序使用的Firebase数据库节点的访问权限。我的应用程序需要授予此新用户访问应用程序交互所需的firebase数据库节点的权限。

换句话说,如何通过应用程序以编程方式更改应用程序中的Firebase节点访问/安全规则(当我目前仅知道如何通过Firebase浏览器UI更改这些规则时)?我看不到FirebaseAuth中的方法来执行此操作。那么,我从这里去哪里呢?

此外,显然我的应用程序的新用户将没有我的凭据,但他们必须能够为自己添加对现有Firebase实时数据库节点的访问权限。我该怎么办?

这是我今天制定的规则(我的UID是我实际的Firebase UID):

{
  "rules": {
    ".read": "auth.uid === my UID",
    ".write": "auth.uid === my UID"
  }
}

我现在知道我必须设置规则以允许所有经过身份验证的用户读取我树的各个节点中的写入数据。我还不了解如何通过节点授予访问权限,尤其是如何通过树中的特定基于uid的节点授予访问权限,其中每个用户可能有许多UID。例如,如果我的树是根(顶部),然后是消息,然后是每个用户的UID,那么授权规则的语法是什么,该规则将允许当前用户/ UID仅在其UID中读取/写入数据在根目录下,消息,他/她的用户UID?

0 个答案:

没有答案