Firebase:允许在删除帐户后删除用户内容

时间:2018-06-17 23:32:44

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

我正在尝试在我的应用中删除用户帐户后删除用户在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; } 但这并不意味着任何用户都可以删除任何人的内容?

  • 使用云功能触发器。这是一个选择,但我想知道我是否可以避免这种情况。

1 个答案:

答案 0 :(得分:0)

currentUser.delete()方法是脚本/逻辑调用的方法(不是最终用户)。所以,如果你想提供一个“删除帐户”按钮,这个按钮很好,但让它的点击监听器在执行deleteUserData(uid).then方法之前触发一个名为... i dunno,currentUser.delete()的函数。