Я пытаюсь создать правило авторизации Firestore, которое проверяет текущего пользователя по списку членов команды в командном документе.Члены хранятся в виде ссылок на документы, поэтому я пробовал что-то вроде этого:
match /teams/{document=**} {
allow read: if path("/users/" + request.auth.uid) in resource.data.members;
}
Но когда я пытаюсь получить доступ к документу команды, мне сообщают, что произошла ошибка аутентификации.
Каждый член команды имеет свой собственный документ в /users
, используя свой UID в качестве ключа.Таким образом, пользователь может быть /users/12345678
, а документ команды может иметь:
/teams/team1 {
members: [/users/12345678, ....]
}
Где члены являются ссылочными типами.
До сих пор я не смог понять это какПохоже, что в Firestore нет концепции ссылочного типа документа в правилах аутентификации.
Есть предложения?