在Firebase上创建/添加用户

时间:2015-12-05 23:30:37

标签: javascript firebase firebase-security

我一直在玩Firebase,我遇到了一个问题,我试着查看一些文档,但我找不到合适的答案。

问题是Firebase提供了用户身份验证,这很好,但我可以为此用户设置一些限制吗?那么它只能访问我的数据库方案的一部分?例如:我的数据库上有两个grupos:

https://MYFIREBASE.firebaseio.com/group1/posts/ https://MYFIREBASE.firebaseio.com/group2/posts/

哪个用户有不同的帖子。

谢谢!

1 个答案:

答案 0 :(得分:3)

You're looking for Security Rules.

安全规则是服务器端验证,用于限制对Firebase数据库的访问。

以下是只读数据库的规则。

{
  "rules": {
     ".read": true,
     ".false": false
  }
}

安全规则提供保存重要服务器端信息的服务器变量。 The variable you'll be interested in is the auth variable.

auth变量允许您检查尝试访问数据库的用户是否已通过身份验证。

{
  "rules": {
    "group1": {
       ".read": "auth !== null",
       ".write": "auth !== null"
    }
  }
}

根据上述规则,只有经过身份验证的用户才能访问/group1位置。

但是对于基于用户的安全性,您需要使用用户的uid进行索引。

{
  "rules": {
    "group1": {
       "posts": {
         "$uid": {
           ".read": "auth.uid == $uid",
           ".write": "auth.uid == $uid"
         }
       }
    }
  }
}

using wildcards (which are basically route parameters),您可以检查用户是否尝试访问数据是否拥有数据。