#android #firebase #firebase-realtime-database #firebase-security
#Android #firebase #firebase-realtime-database #firebase-безопасность
Вопрос:
Я новичок в Firebase и Android. Здесь, в Android, у меня есть одна кнопка, sign inкоторая регистрирует пользователей auth в Firebase, и я создаю дочерний объект в базе данных, и я хочу разрешить доступ только авторизованным зарегистрированным пользователям.
Поэтому, пожалуйста, помогите мне, как изменить правила Firebase, чтобы разрешить доступ только авторизованным пользователям.
Правила Firebase теперь:
{
"rules": {
".read": true,
".write": true
}
}
авторизованные пользователи регистрируются:
Email Providers Created Signed In User UID
xxx@gmail.com Oct 4, 2016 Oct 4, 2016 PZJkEQnQZNZ
и база данных:
chat-aa255
- groupchat
- KTOjXlA3Zwy38er
- "msg":"hi"
- "name":"one"
Пожалуйста, помогите мне, как решить эту проблему. Заранее спасибо.
Ответ №1:
Это потому, что вы не авторизованы в базе данных, проверьте вкладку «Правила» в базе данных реального времени
Если это
{
"rules": {
".read": "auth != null",
".write":"auth != null"
}
}
Это означает, что только авторизованный пользователь может записывать и считывать данные.
Изменение на
{
"rules": {
".read": true,
".write":true
}
}
Позволяет любому пользователю записывать базу данных
При запуске в производство обязательно используйте первый
Комментарии:
1. правила ok изменены …. но, пожалуйста, скажите мне, как отобразить «groupchat» в базе данных для пользователя auth «xxx@gmail.com »
2. @BaskarP вы нашли решение?
Ответ №2:
Попробуйте это, может быть, это сработает:
{
"rules": {
".read": "auth.email == 'xxx@gmail.com'",
".write":"auth != null"
}
}
Комментарии:
1. Пожалуйста, рассмотрите возможность добавления проверенного / подтвержденного ответа.