在Firebase中删除用户信息时出错

时间:2016-07-06 17:28:36

标签: ios swift firebase firebase-realtime-database

我正在尝试集成删除帐户功能,但遇到了错误。我相信我已经找到了问题的解决方案,但我正在寻找替代解决方案的意见,因为我的不安全。

这是我的删除帐户功能

func deleteAccount()
{
    let user = FIRAuth.auth()?.currentUser
    let uid = user!.uid

    self.dismissViewControllerAnimated(true, completion: nil)
    user?.deleteWithCompletion({ (error) in
        if error != nil
        {
            //error occurred during deletion
            print(error)
        }
        else
        {
            print("Account deleted")

            //account deleted, remove the user data and segue back
            let removedRef = FIRDatabase.database().referenceFromURL("https://myURL.com/users/\(uid)")

            //set nil to that value to delete it
            removedRef.setValue(nil)
        }
    })
}

我得到的错误是removeValue失败:permission_denied。我假设这是因为我在删除相关用户信息之前删除了我的用户。但是,如果我要将删除代码移到闭包块之外,如果发生错误,则无论如何都会删除所有用户的信息。

我希望改进这种删除方法。

0 个答案:

没有答案