Перейти к основному содержимому

Удаление пользователей Firebase и связанных данных

Понимание действия удаления

Действие удаления в Firebase предназначено только для удаления пользователя из таблицы аутентификации. Это означает, что документ пользователя в базе данных не затронется. Если вы хотите также удалить документ пользователя из базы данных, вам потребуется создать пользовательское действие с некоторым пользовательским кодом.

Выход из системы после удаления

После выполнения действия удаления важно выйти из системы от имени пользователя. Поскольку пользователь больше не существует в системе аутентификации, выход из системы гарантирует, что приложение перенаправит пользователя на страницу входа, которая обычно является начальной страницей вашего проекта.

Шаги для правильного удаления пользователя

  1. Сначала удалите связанные данные:
    Перед вызовом действия удаления пользователя удалите любые связанные данные, такие как документы Firestore или файлы Storage, ассоциированные с пользователем. После удаления пользователя из Firebase Auth его UID больше не будет доступен в сессии приложения, что затруднит ссылку на его данные позже.

  2. Обработайте поведение повторного входа:
    Учитывайте, что если тот же пользователь войдет в систему снова с использованием того же метода регистрации, Firebase создаст для него новый документ в базе данных. Это происходит потому, что Firebase связывает новую информацию о входе со старым документом пользователя.

Важные советы по удалению пользователей
  • Всегда удаляйте связанные данные пользователя из Firestore или Storage до удаления пользователя из Firebase Auth. Это предотвратит появление изолированных данных и проблем с ссылками на данные.
  • Помните, что после удаления пользователя необходимо выйти из системы, чтобы избежать ошибок сессии.
  • Если пользователь войдет в систему снова с тем же методом регистрации, Firebase создаст для него новый документ, связав новый вход со старым документом пользователя.

примечание

Действие удаления пользователя в FlutterFlow выполняет ту же операцию, что и ручное удаление пользователя из таблицы Firebase Authentication.