适用于普通用户访问的Android配置Firebase实时数据库规则

问题描述

我的应用程序使用Firebase Realtime DB集成了聊天功能,用于存储聊天内容。 最近,我收到了包含以下内容的电子邮件

[Firebase]您的实时数据库*****的规则不安全

我的应用程序通过服务器端使用身份验证,而没有集成Firebase Authen。因此,如果我将读/写规则设置为false,则普通用户将无法聊天。 如何解决这个问题?谢谢!

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

解决方法

公开读写并不是一个好主意。对于服务器端,最好使用admin sdk。但是从客户端开始,您应该使用某种身份验证。您可以将Authentication与凭据,匿名身份验证或custom token authentication一起使用。规则将类似于:-

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

如果要在访问数据库之前登录用户,请将规则更改为..

".read" : "auth != null",".write" : "auth != null"

这将使经过身份验证的用户访问数据库。