Firebase:如何验证其他用户发布的用户ID。

时间:2016-06-20 16:12:49

标签: firebase firebase-realtime-database firebase-authentication firebase-security

我正在尝试创建群聊。

  1. 用户创建群组。
  2. 按用户ID将用户添加到该组,这是在firebase注册期间创建的。
  3. **如何在用户ID有效的某个组节点下存储这些用户ID之前先检查?**

    如果有其他方法我可以使用请告知。

2 个答案:

答案 0 :(得分:1)

假设您有/ users节点,每个用户将在其uid下的节点中列出:

users
   uid_0
     name: Henry Winkler
     email: henry@thefonz.com

A / users节点是Firebase中的典型设计模式,通常会在创建Firebase帐户的同时添加用户子节点。您可以存储有关用户的任何内容,以便一站式购买用户数据。

答案 1 :(得分:1)

就像@Jay提到的那样,你需要一个如下结构:

users
   $uid
      ...

如果没有这样的结构,我还没有找到解决这个问题的方法,所以我必须为此创建一个。我使用onCreate Firebase function处理了这样的创建,我只为每个新用户设置了一些虚拟数据("active": true)。

有了这种结构,您现在可以在.read / .write / .validate规则中检查它:

"groups": {
    "$group": {
        "members": {
            "$uid": {
                ".validate": "root.child('users/' + $uid).exists()"
            }
        }
    }
}

请注意,我还没有确认确切的代码......