如何仅向规则内的人授予写入权限?

时间:2017-01-23 04:06:13

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

我对在Firebase数据库的“规则”部分设置权限感到困惑。

我正在开发一个应用程序(实际上是一本书),只有一个人使用此电子邮件地址更新应用程序:someone@gmail.com。因此,其他人,无论是否经过身份验证,都必须无法修改内容,但允许他们阅读。

1 个答案:

答案 0 :(得分:1)

如果查看Firebase Security Rules API,您会看到用户的电子邮件地址(如果有的话)可通过auth.token.email获取。

因此,要向具有someone@gmail.com电子邮件地址的用户授予对整个数据库的写访问权限,并允许读取所有人的访问权限,您可以定义如下规则:

{
    "rules": {
        ".read": true,
        ".write": "auth !== null && auth.token.email === 'someone@gmail.com'"
    }
}

所述规则将授予对所有人的读取权限。如果您只想授予经过身份验证的用户的读访问权限,可以使用:

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