如何在Firebase中仅允许对auth用户进行读写访问?

时间:2016-10-12 06:41:48

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

我是Firebase和Android的新手。在Android中,我有一个名为登录的按钮,它在Firebase中注册auth用户,我在数据库中创建子对象,我想只允许访问auth注册用户。

因此,请帮助我更改Firebase规则以仅允许身份验证用户。

Firebase规则现在是:

{
  "rules": {

        ".read": true,
        ".write": true

  }
}

auth用户注册:

Email              Providers     Created       Signed In     User UID
xxx@gmail.com                    Oct 4, 2016   Oct 4, 2016   PZJkEQnQZNZ

和数据库:

chat-aa255
  - groupchat
      - KTOjXlA3Zwy38er
            - "msg":"hi"
            - "name":"one"

请帮我解决这个问题。提前谢谢。

2 个答案:

答案 0 :(得分:5)

这是因为您未获得数据库授权,请查看实时数据库中的“规则”选项卡

如果是

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

这意味着只有授权用户才能写入和读取数据。

更改为

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

允许任何人编写数据库

参加制作时一定要使用第一个

答案 1 :(得分:0)

尝试一下,也许可行:

{
  "rules": {
     ".read": "auth.email == 'xxx@gmail.com'",
     ".write":"auth != null"
   }
}