如果我们基于Firebase身份验证用户的ID创建新的文档ID (这样我们就不需要直接从已知用户ID查询和获取文档),我们是否可以创建一种安全规则,即只允许拥有此Firebase身份验证用户ID的用户使用此用户ID创建文档ID?例如:
We have two users as follows:-
Firebase user ID: AAA
Firebase user ID: BBB
Expected results from Firestore security rules
AAA creates document ID: AAA-1 - (ok)
AAA creates document ID: AAA-2 - (ok)
AAA creates document ID: BBB-1 - (not ok)
AAA creates document ID: XYZ-1 - (not ok)
BBB creates document ID: AAA-1 - (not ok)
BBB creates document ID: AAA-2 - (not ok)
BBB creates document ID: BBB-1 - (ok)
BBB creates document ID: XYZ-1 - (not ok)我们可以在Firestore上设置这种规则吗?
发布于 2019-01-06 19:14:31
根据documentation,您可以使用request.resource.id获取请求的目标文档id。然后,您可以将其与请求身份验证用户id进行比较,并使用类似于allow create: if request.resource.id == request.auth.uid的内容来限制权限。
发布于 2018-07-29 02:24:43
最好是在文档上添加一个所有者字段,然后在更新时检查该字段。
allow update: if resource.data.owner == request.auth.uidhttps://stackoverflow.com/questions/50126852
复制相似问题