Как хранить данные, указанные c для пользователей с firebase? - PullRequest
0 голосов
/ 13 февраля 2020

В приложении, которое я разрабатываю, пользователь создает свою учетную запись с электронной почтой и паролем, но как я могу сделать данные, указывающие c для пользователя? Например, в моем приложении пользователь может набирать очки, выполняя определенные задачи. Поэтому, когда пользователь завершает задачу, мне нужно обновить свои очки и сохранить их в базе данных, чтобы они могли получать очки сверхурочно и использовать их для получения вознаграждений. Вот что я должен делать, но я не уверен, должен ли я что-то добавить в правила или нет. enter image description here

enter image description here

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

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

Если вы хотите, чтобы пользователи могли только читать / записывать свои собственные данные, вы должны хранить эти данные под UID пользователя. Из документации Firebase о безопасном доступе к пользовательским данным :

Другой распространенный шаблон - убедиться, что пользователи могут только читать и записывать свои собственные данные:

service cloud.firestore {
  match /databases/{database}/documents {
    // Make sure the uid of the requesting user matches name of the user
    // document. The wildcard expression {userId} makes the userId variable
    // available in rules.
    match /users/{userId} {
      allow read, update, delete: if request.auth.uid == userId;
      allow create: if request.auth.uid != null;
    }
  }
}
0 голосов
/ 13 февраля 2020

Да, выглядит хорошо, просто будьте осторожны с тем, у кого есть доступ для записи в этот документ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...