Проблема аутентификации в firebase cloud firestore на уровне пользователя - PullRequest
0 голосов
/ 09 января 2019

Я анализирую руководство по началу работы для firebase cloud firestore. Это для приложения для Android. https://firebase.google.com/docs/firestore/security/get-started

Мне нужно сохранять и читать пользовательские данные с каждого устройства Android для резервного копирования некоторых данных. Документ для Firebase Cloud Firestore показывает код ниже для доступа к данным для всех пользователей. Но я хочу ограничить конфиденциальность пользовательских данных, чтобы они были доступны только пользователю, который их сохранил. Пожалуйста, посоветуйте, как продолжить процесс доступа / аутентификации.

// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
    match /databases/{database}/documents {
        match /{document=**} {
            allow read, write: if request.auth.uid != null;
        }
    }
}

1 Ответ

0 голосов
/ 09 января 2019

Если вы сохраняете в документе uid пользователя, который сохранил документ в поле с именем (например) createdBy, вы можете сделать следующее:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read: if request.auth.uid != null && resource.data.createdBy == request.auth.uid;
      allow write: .... 
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...