我是Firebase的新手,我的安全规则遇到了麻烦。我最近接手了一个项目,目前的规则是:
{
"rules": {
".read": true,
".write": true
}
}
这显然是不安全的。该应用程序允许用户(已登录)输入客户电话号码,并使用Twilio向这些客户发送文本,要求他们查看用户的产品。客户无需进行任何登录-他们只需单击Twilio上的链接,输入星级,就可以选择去其他评论网站。
在Firebase数据库中,客户(及其输入的评论)是输入他们的用户的子级。根据文档,我认为我不能制定必须对用户进行身份验证的规则,因为该规则也将应用于所有子级(客户)。
我需要向我的应用程序添加匿名身份验证来为每个客户创建匿名uid吗?有没有更简单的方法来保护它?
这是从Firebase导出Json的示例:
{
"profiles" : {
"User1_UID" : {
"guests" : {
"guest-id-here" : {
"createdOn" : "2018-06-28T16:23:53.793Z",
"firstName" : "",
"id" : "id-here",
"lastName" : "",
"phone" : "",
"ratingLeft" : true,
"reviewSite" : true,
"reviewSiteClicked" : {
"facebook" : true,
"google" : true,
"other" : false,
"tripadvisor" : true,
"yelp" : true
},
"reviewSiteClickedOn" : "2018-06-28T16:26:46.237Z",
"reviewedOn" : "2018-06-28T16:25:22.996Z",
"starRating" : "5"
},
"guest2-id-here" : {
"createdOn" : "2018-07-15T18:57:52.171Z",
"firstName" : "Joe",
"id" : "guest2-id",
"lastName" : "Schmoe",
"phone" : "+1234567890",
"ratingLeft" : false,
"reviewedOn" : "",
"starRating" : ""
},
}
},
"User2_UID" : {
"guests" : {
"guest-id-here" : {
"ratingLeft" : true
}
}
},