我正在尝试在我的应用中删除用户帐户后删除用户在firestore中的内容。没有规则,这似乎有效,但有了规则,我得到了许可错误。我假设这是因为用户已被删除,不再允许删除内容。
代码:
not_in
规则:
this.currentUser.delete().then( () => {
//delete content from firestore
});
解决此问题的最佳方法是什么?
我考虑过的事情:
在删除帐户之前删除内容,但我认为如果由于某种原因删除帐户会失败,则会出现问题。
match /users/{userId} {
allow read, update, delete: if request.auth.uid == userId;
allow create: if request.auth.uid != null;
}
但这并不意味着任何用户都可以删除任何人的内容?
使用云功能触发器。这是一个选择,但我想知道我是否可以避免这种情况。
答案 0 :(得分:0)
currentUser.delete()
方法是脚本/逻辑调用的方法(不是最终用户)。所以,如果你想提供一个“删除帐户”按钮,这个按钮很好,但让它的点击监听器在执行deleteUserData(uid).then
方法之前触发一个名为... i dunno,currentUser.delete()
的函数。