gpt4 book ai didi

基于引用数据类型的 Firebase Firestore 安全规则

转载 作者:行者123 更新时间:2023-12-03 09:02:38 24 4
gpt4 key购买 nike

在 Firestore 中,我有一个拥有所有者的项目集合。

所有者可以是用户,应该允许他阅读他的文档。

使用 userId 你可以这样做:

allow read, write: if resource.data.userId == request.auth.uid;

但是对于 owner 引用字段,似乎没有涉及安全规则的文档。

我尝试了这个安全规则:

allow read, write: if resource.data.owner == 'users/$(request.auth.uid)';

并像这样查询:

const owner = this.db.collection('/users').doc(auth.uid).ref;

const collection = this.db.collection('/items',
(ref) => ref.where('owner', '==', owner)
);

但我仍然遇到权限缺失或不足的情况。

最佳答案

引用文献被视为 paths在安全规则中,因此您可以将其与

function checkUser() {
return request.resource.data.userReference == /databases/$(database)/documents/users/$(request.auth.uid);
}

使用前面带有 databases/$(database)/documents 的完整路径非常重要。在这种情况下,我有一个名为 users 的集合,每个用户 id 都是他们的 uid (看起来您也在这样做)

关于基于引用数据类型的 Firebase Firestore 安全规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49206087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com