Firebase规则为身份验证用户写入,但仅删除其自己的数据

时间:2018-10-22 23:15:51

标签: firebase firebase-authentication google-cloud-firestore firebase-security-rules

有没有一种方法可以让用户仅删除自己的数据? auth用户可以写入FB并读取其他用户的数据,但只能删除其自己的数据。

写入规则是否包括删除规则?

喜欢:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read; 
      allow delete: if request.auth.uid == resource.data.userid;
      allow write: if request.auth.uid != null;
    }
  }
}

1 个答案:

答案 0 :(得分:1)

写入权限确实包括删除。 documentation中对此进行了说明。

  

读取规则可以分为获取和列表,而写入规则可以分为创建,更新和删除

因此,如果您对写访问权限进行了评估,那么您将隐式授予创建,更新和删除权限。您可能需要将它们分开:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read; 
      allow delete: if request.auth.uid == resource.data.userid;
      allow create, update: if request.auth.uid != null;
    }
  }
}