Я новичок в Firebase, и у меня проблемы с правилами безопасности.Я недавно взял на себя проект, и текущие правила:
{
"rules": {
".read": true,
".write": true
}
}
Это явно не безопасно.Приложение позволяет пользователям (вошедшим в систему) вводить телефонный номер клиента, и оно использует Twilio для отправки этим клиентам текста с просьбой просмотреть продукт пользователя.Клиентам не нужно входить в систему - они могут просто щелкнуть ссылку в Twilio, ввести свой звездный рейтинг и получить возможность перейти на другие сайты отзывов.
В БД Firebase клиент (и рецензия, которую он вводит) является дочерним элементом пользователя, который их ввел.Основываясь на документах, я не думаю, что смогу установить правило, согласно которому пользователи должны проходить аутентификацию, поскольку это будет применяться и ко всем дочерним элементам (клиентам).
Нужно ли добавлять анонимную аутентификацию в мое приложение, чтобы создать анонимный идентификатор пользователя для каждого клиента?Есть ли более простой способ защитить его?
Вот пример экспорта Json из Firebase:
{
"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
}
}
},