Пишите и читайте в Firebase Android - PullRequest
0 голосов
/ 22 января 2020

Я использую базу данных Firebase Realtime со следующими правилами

{
    "rules": {
      "users": {
        "$uid": {
          ".read": "$uid === auth.uid",
          ".write": "$uid === auth.uid"
         }
       }
    }
}

Мой код для записи в базу данных:

mDatabase = FirebaseDatabase.getInstance().getReference("OWNER_DATA");
String id = mDatabase.push().getKey();
            OwnerSignup ownerSignup = new OwnerSignup(id, name, email, phoneNumber);
            mDatabase.child("MY_DATA").setValue(ownerSignup);

Если я изменю правила на

read:"false" 
write:"false"

Я могу получить sh данные, но с указанными выше правилами я не могу вставить значения в данные. Пожалуйста, помогите мне решить эту проблему.

и как я могу вызвать это с помощью API в Postman, где мой API "https://rent-c-246c0.firebaseio.com/"

Я пытался сделать это в почтальоне с приведенным ниже API https://rent-c-246c0.firebaseio.com/OWNER_DATA.json

здесь я хочу передать свой токен auth.uid

1 Ответ

1 голос
/ 22 января 2020

Если вы используете следующие правила:

read:"false" and write:"false"

Это означает, что вы не можете ни извлекать, ни добавлять данные в базу данных.

Если вы используете:

{
  "rules": {
    "some_path": {
      "$uid": {
        // Allow only authenticated content owners access to their data
        ".read": "request.auth.uid == uid"
        ".write": "request.auth.uid == uid"
      }
    }
  }
}

Тогда эти правила ограничивают доступ только авторизованному владельцу контента. Данные доступны для чтения и записи только одному пользователю, а путь к данным содержит идентификатор пользователя.

https://firebase.google.com/docs/rules/basics#content -owner_only_access

...