【发布时间】:2019-05-28 16:25:51
【问题描述】:
我为群组消息应用设置了 Firebase 数据库规则。但是现在,即使经过身份验证的用户尝试发送消息,它也不会显示出来。
我正在开发一个群组消息应用程序。代码可以在以下link 找到。创建应用程序时,我使用的是 Firebase 数据库的默认规则。但是现在我正在尝试设置规则,以便成员节点中可用的所有 uid 都可以查看或向该特定组发送消息。以下是我创建的最新规则集。下面是我创建计划后的详细数据库结构。请注意,我正在使用 Firebase 电话身份验证。出于这个原因,我正在创建一个用户节点来跟踪每个注册号码的 uid。当用户选择要添加到组的成员时,我会根据他们各自的 uid 检查这些数字,然后将这些 uid 添加到成员的节点中。
{
"rules": {
"plan":{
"$planID":{
"messages":{
".read":"data.parent().child('members').child(auth.uid).exists()",
".write":"data.parent().child('members').child(auth.uid).exists()"
}
}
}
}
}
我希望添加到成员节点的经过身份验证的用户能够阅读和发送消息,但在上述规则发布后,即使是注册用户自己也无法创建新组或阅读消息。
【问题讨论】:
-
请以文本形式包含您用于测试的代码和您的数据库结构。
-
@AndréKool 我已经添加了项目的github仓库的链接
标签: firebase firebase-realtime-database firebase-security