Firebase realtime database 如何配置Firebase relatime数据库规则?

Firebase realtime database 如何配置Firebase relatime数据库规则?,firebase-realtime-database,firebase-security,Firebase Realtime Database,Firebase Security,我们收到Firebase关于实时数据库有不安全规则的警告电子邮件。这是真的,但我正在努力改变它们。我们的应用程序大约有两个应用程序,在乘客和司机之间具有聊天功能 这是我们存储在数据库中的内容: 目前我们有: { "rules": { ".read": true, ".write": true } } 如果数据库读或写请求中提供了driverId/passengerId,则应授予访问权限。 非常感谢您的帮助

我们收到Firebase关于实时数据库有不安全规则的警告电子邮件。这是真的,但我正在努力改变它们。我们的应用程序大约有两个应用程序,在乘客和司机之间具有聊天功能

这是我们存储在数据库中的内容:

目前我们有:

  {
  "rules": {
    ".read": true,
    ".write": true
  }
}
如果数据库读或写请求中提供了driverId/passengerId,则应授予访问权限。
非常感谢您的帮助。

您的规则允许任何人在任何地方读写任何东西。您应该使用身份验证(以便能够通过规则中用户的UID识别用户),构建数据库,以便具有不同访问逻辑的信息存储在不同的路径中,然后编写规则以强制执行您的访问逻辑。

我只有有关Firebase规则的基本信息。我希望我下面的规则能帮助你,或者至少能给你一些关于如何处理你的情况的想法。 因此,基本上对于读写请求,我们将检查您的数据是否包含
passengerId
driverId
字段:

{
  "rules": {
   "chats": {
      ".read": data.hasChildren([‘driverId’, ‘passengerId’]) === "true"
      ".write": newData.hasChildren([‘driverId’, ‘passengerId’]) === "true"
    }
  }
}
这里,
newData
对应于传入数据,
data
对应于数据库中已经存在的数据


有关安全规则,可以在Firebase的官方文档中找到更多帮助。

我想这个问题没有解决方案了吧?任何Firebase专家都可以,所以??我认为你们应该使用身份验证部分。有可能重新设计项目的工作流程吗?实际上,这不起作用。我尝试了以下规则,但它们给出了权限错误:{“规则”:{“$chat”:{“$trip”:{“$text”:{.read”:“data.haschilds(['driverId',passengerId'])==true”,“.write”:“newData.haschilds(['driverId',passengerId'])==true}}