Firebase: отслеживание статуса подтверждения электронной почты в режиме реального времени - PullRequest
0 голосов
/ 10 мая 2018

Как я могу проверить в режиме реального времени, подтвердил ли пользователь свою электронную почту?

Мой поток такой:

  1. Реестры пользователей
  2. Письмо отправлено
  3. Пользователь видит уведомление "Пожалуйста, подтвердите свою электронную почту"

Теперь я бы хотел:

  1. setInterval -> проверить, подтверждено ли письмо
  2. Если подтверждено, отобразить уведомление «Подтверждено по электронной почте»

Для этого мне понадобится метод, который выбирает пользовательские данные из firebase. Обычно вы просто используете обратный вызов onAuthStateChanged для получения пользовательских данных, но мне нужно явно получить текущие данные.

Как бы я это сделал?

1 Ответ

0 голосов
/ 10 мая 2018

Нашел способ!

firebase.auth().currentUser.reload()

будет получать текущие данные пользователя. Так что все, что мне нужно сделать, это:

              this.checkForVerifiedInterval = setInterval(() => {
                firebase.auth()
                  .currentUser
                  .reload()
                  .then(ok => {
                    if (firebase.auth().currentUser.emailVerified) {
                      this.props.history.push("/verification-email-verified")
                      window.Materialize.toast("Email verified.", 3000)
                      clearInterval(this.checkForVerifiedInterval)
                    }
                  })
              }, 1000)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...