Я пытаюсь реализовать функцию удаления учетной записи текущего пользователя на iOS.Удаление учетной записи работает правильно, но проблема в том, что я не могу удалить данные учетной записи из базы данных и хранилища при удалении учетной записи.
«currentUser.delete» удаляет учетную запись, но я думаю, что нет аутентификации для удаления ее данных изБаза данных и хранение.Сообщение об отказе в разрешении отображается в журнале.После запуска этой функции я вижу, что учетная запись исчезла на странице аутентификации консоли Firebase, но данные из базы данных и хранилища сохраняются.
Это правильный способ удаления учетной записи?
Я пыталсяудалить данные из базы данных и хранилища перед удалением учетной записи.Однако Firebase запрашивает повторную аутентификацию, если сеанс более 5 минут.Повторный вход в систему показывает пустые данные пользователю перед повторным удалением учетной записи, поэтому это вводит в заблуждение и очень сбивает с толку.
Пожалуйста, дайте мне знать, как удалить данные при удалении учетной записи.
private func deleteAccount() {
guard let currentUser = Auth.auth().currentUser else {
return print("user not logged in")
}
currentUser.delete { error in
if error == nil {
// 1. Delete currentUser's data from Database. Permission denied
// 2. Delete currentUser's data from Storage. Permission denied
// present login screen (welcome page)
self.presentLoginScreen()
} else {
guard let errorCode = AuthErrorCode(rawValue: error!._code) else { return }
if errorCode == AuthErrorCode.requiresRecentLogin {
self.showMessage("Please re-authenticate to delete your account.", type: .error)
do {
try Auth.auth().signOut()
self.presentLoginScreen()
} catch {
print("There was a problem logging out")
}
}
}
}
}