FirebaseAuth - репликация модифицированного логина / адреса электронной почты - PullRequest
0 голосов
/ 05 декабря 2018

Изменение адреса электронной почты пользователя, вошедшего в данный момент, работает отлично, используя метод updateEmail объекта пользователя, однако создается впечатление, что это изменение не реплицируется на другие имена входа, которые все еще сохраняют предыдущий адрес электронной почты.

Есть ли какое-либо уведомление, на которое мне нужно подписаться / отловить, чтобы получить уведомление о таком изменении, или есть другой способ сделать это?

1 Ответ

0 голосов
/ 05 декабря 2018

Я, как давний Firebaser, я много читаю, как много.И у меня есть обходной путь для этого, так как там нет встроенного.

Во-первых, если вы предоставляете несколько сеансов для пользователя, вы хотите использовать метод reauthenticate.

Повторная проверка подлинности пользователя

Некоторые важные для безопасности действия, такие как удаление учетной записи, установка основного адреса электронной почты и изменение пароля, требуют, чтобы пользователь недавно подписалin. Если вы выполните одно из этих действий, а пользователь вошел в систему слишком давно, действие завершится ошибкой с ошибкой FIRAuthErrorCodeCredentialTooOld.Когда это происходит, повторно аутентифицируйте пользователя, получая новые учетные данные от пользователя и передавая учетные данные для повторной аутентификации.Например:

let user = Auth.auth().currentUser
var credential: AuthCredential

// Prompt the user to re-provide their sign-in credentials

user?.reauthenticate(with: credential) { error in
  if let error = error {
// An error happened.
  } else {
// User re-authenticated.
  }
}

Используя это, вы получите ошибку 90% процентов времени из-за старых учетных данных.

Или:

(1) В процессе изменения.Установите определенный ключ для пользователя в вашей базе данных в реальном времени или Firestore, (2) Проверьте наличие этого конкретного ключа в вашем приложении, если оно существует.Это означает, что пользователь должен быть повторно аутентифицирован.Firebase будет обновлять учетные данные пользователя при каждом новом входе в систему.

Надеюсь, это поможет.Вот документы:

Управление пользователями в Firebase

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...