Я использую Firebase и имею следующую схему для users
:
{
"uid": "randomUID",
"domain": "@domain1"
}
и у меня есть коллекция domains
, содержащая все домены пользователей, например:
{
"@domain1": {
"uid": "randomUID"
}
}
Я пытаюсь использовать правила безопасности Firestore, чтобы предотвратить создание новых пользователей, имеющих тот же домен, что и pr-существующий. Это то, что я до сих пор:
service cloud.firestore {
match /databases/{database}/documents {
match /users/{Id} {
allow read: if true;
allow create: if exists(/databases/$(database)/documents/domains/$(resource.data.domain)) == false;
}
}
Но это не работает. Я также попробовал следующие комбинации правила allow create, но ни одна из них не сработала:
if !exists(/databases/$(database)/documents/domains/$(resource.data.domain));
и
if !exists(/databases/$(database)/documents/domains/$(request.resource.data.domain));
Есть идеи или предложения? Отладка правил безопасности является сложной задачей, поскольку отладчика еще нет.