У меня есть коллекция BLOB-объектов. BLOB-объект должен быть доступен для чтения любому пользователю (аутентифицированному или нет), только если пользователь знает секрет, хранящийся в BLOB-объекте. Любое другое чтение должно требовать, чтобы вошедший в систему пользователь был владельцем BLOB-объекта.
Вот блоб:
{
name: "helo",
owner: {
"uid-101": true
},
secret: "abc123"
}
А вот мое текущее правило безопасности, которое заставляет аутентифицированного пользователя быть владельцем BLOB-объекта для его чтения:
service cloud.firestore {
match /databases/{database}/documents {
match /blobs/{id} {
allow read: if resource.data.owner[request.auth.uid] == true
}
}
}
Итак, вопрос: как я могу добавить правило, которое позволило бы неаутентифицированным пользователям делать это:
var query = blobsRef.where("secret", "==", "abc123")