我有一组Blob。只有当用户知道存储在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")