простое правило безопасности для чтения данного документа - PullRequest
0 голосов
/ 23 февраля 2020

Я получаю смоделированное чтение, которому отказано в доступе к простой коллекции

Data Model:
/users/$userId/

Это простая коллекция, без подгруппы.

В моем симуляторе я выполняю получение одного документа

/databases/users/documents/0011476476904

с полезной нагрузкой ниже аутентификации

{
  "uid": "0011476476904",
  "token": {
    "sub": "0011476476904",
    "email": "",
    "email_verified": false,
    "phone_number": "",
    "name": "",
    "firebase": {
      "sign_in_provider": "google.com"
    }
  }
}

У меня есть простое правило, разрешающее чтение, если аутентификация .uid соответствует userId, но я по-прежнему получаю отказ в правиле симуляции

rules_version = '2';
service cloud.firestore {
  match /databases/users/documents/{userId} {

      allow read, write: if userId == request.auth.uid;

  }
}

Что-то не так в том, как я установил правило?

1 Ответ

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

Если у вас есть одна коллекция users, вы должны смоделировать / определить правила безопасности следующим образом:

service cloud.firestore {
  match /databases/{database}/documents {

    // Match any document in the 'users' collection
    match /users/{userId} {
         allow read, write: if userId == request.auth.uid;
    }
  }
}

Подробнее см. do c подробности. Также стоит посмотреть видео, встроенное в эту страницу c .

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