Когда я хочу удалить учетную запись пользователя firebase в моем приложении, операция проходит нормально, если пользователь недавно вошел в систему, но через некоторое время, если я пытаюсь удалить пользователя, я получаю эту ошибку
«Эта операция чувствительна и требует недавней аутентификации. Войдите в систему еще раз, прежде чем повторять этот запрос».
Обычно firebase обновляет сеанс пользователя автоматически, но я не нашел, почему он хочет, чтобы пользователь снова вошел в систему, и даже значение Auth.auth (). CurrentUser не равно nil . Спасибо за помощь !
это мой код для удаления учетной записи пользователя:
@objc func deleteAccountAction(){
self.showProgressView()
let user = Auth.auth().currentUser
let id=Auth.auth().currentUser?.uid
self.refProducts.child(id!).removeValue { error, _ in
if(error != nil){
print("firebase remove error")
print(error?.localizedDescription.description ?? nil)
self.dismissHUD(isAnimated: true)
}
else{
self.refUsers.child(id!).removeValue { error, _ in
if(error != nil){
print("firebase remove error")
print("error while deleting user from firebase: "+error!.localizedDescription)
self.dismissHUD(isAnimated: true)
}
else {
user?.delete { error in
if error != nil {
print("error while deleting user:" + error!.localizedDescription)
self.dismissHUD(isAnimated: true)
} else {
UserDefaults.standard.removeObject(forKey: "USER_UID")
UserDefaults.standard.synchronize
self.dismissHUD(isAnimated: true)
let nextVC = self.storyboard?.instantiateViewController(withIdentifier: "StartingViewController") as! StartingViewController
nextVC.isAccoundDeleted=true
GlobalVar.user=nil
self.navigationController?.pushViewController(nextVC, animated: true)
}
}
}
}
}
}
}