仅允许Firebase中的服务帐户写入?

nom*_*mad 8 firebase firebase-security firebase-realtime-database

我想从node.js服务器写入我的Firebase数据,但拒绝对任何其他客户端的所有写入.任何其他客户端只应被允许读取访问权限.对此最好的方法是什么?我是否需要使用特殊管理员帐户从node.js服务器进行身份验证,并为该特定帐户设置安全规则,或者是否有更好的方法来实现此目的?谢谢!

Sha*_*ytj 6

在您的节点服务器中,使用Admin SDK登录到服务帐户

在数据库规则中使用以下命令:

{
  "rules": {
    ".write": "false"
    ".read": "true",
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 默认情况下,Admin SDK会获得编辑者角色,这意味着您可以读写数据。您需要为读者角色创建其他服务帐户,或者为现有服务帐户更新角色 (3认同)

Tha*_*Luz 3

Just use firebase-admin on your server with a service account. It will have Administrative Privileges by default.

And for your rules, all you need is this:

{
  "rules": {
    ".read": true,
  }
}
Run Code Online (Sandbox Code Playgroud)

or this if you only want logged in users to read

{
  "rules": {
    ".read": "auth !== null",
  }
}
Run Code Online (Sandbox Code Playgroud)