I want to remove the current user from Firebase. However, the authenticated user is deleted, but I cannot delete the data for this user in the database. What am I doing wrong?
This is my method of deleting a user ....
FIRAuth.auth()?.signIn(withEmail: (emailTextField?.text)! , password: (passwordTextField?.text)!, completion: { (user, error) in if error == nil { print("User Authenticate!!!") let user = FIRAuth.auth()?.currentUser user?.delete(completion: { (error) in if error != nil { print("Error unable to delete user") } else { DataService.ds.deleteCurrentFirebaseDBUser() KeychainWrapper.standard.removeObject(forKey: KEY_UID) self.performSegue(withIdentifier: "goToLogin", sender: nil) } }) } else { //Password was wrong, unable to authenicate user. Data is not updated print("!!!ALERT!!! Unable to authenticate user") let alert = UIAlertController(title: "Incorrect Password", message: "Please re-enter your password", preferredStyle: UIAlertControllerStyle.alert) alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil)) self.present(alert, animated: true, completion: nil) } })
Firebase Rules:
{ "rules": { "users": { "$uid": { ".read": "$uid === auth.uid", ".write": "$uid === auth.uid" } } } }
Database:
App -> users -> 4erkjkl543jfe46 ->name ->email
ERRORS:
2017-01-21 21: 33: 10.321704 APP [11582: 4102711] [FirebaseDatabase] setValue: or removeValue: at / users / 4erkjkl543jfe46 failed: permission_denied
Optional (Error Domain = com.firebase Code = 1 "Permission denied" UserInfo = {NSLocalizedDescription = Permission denied})
source share