Правила безопасности Firebase, как это? - PullRequest
1 голос
/ 24 января 2020

У меня есть коллекция, допустим, она называется комнаты . В комнатах у меня есть имя, его хешированный пароль, «члены», подколлекции , которые выглядят примерно так:

rooms: {
  room1Uid: {
    name: "room name",
    password: "hashed password",
    members: {
      member1Uid: { joindate: "timestamp"},
      member2Uid: { joindate: "timestamp"},
      ...
    },
    resource1: {
      something: "...",
    },
    resource2: {
      something: "...",
    }
  },

  room2Uid: {...}
}

I wi sh, которые могут прочитать только пользователи, прошедшие проверку подлинности. и напишите что-нибудь под roomUid, которые содержатся в списке участников.

Так, например, request.auth.uid == member1Uid может читать resource1 из-под room1Uid.

1 Ответ

2 голосов
/ 24 января 2020

Использование существует () , Пример кода приведен ниже

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

    match /rooms/room1Uid/{document=**} {

      allow read, write: if exists(/databases/$(database)/documents/rooms/room1Uid/members/$(request.auth.uid))

    }
  }
}

Попробуйте и дайте мне знать, работает или нет

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