Угловое подтверждение электронной почты пожарной базы неверно - PullRequest
0 голосов
/ 08 февраля 2019

Я настраиваю функцию авторизации по электронной почте и паролю.Все работает нормально, но когда я создаю нового пользователя, приложение отправляет электронное письмо со ссылкой для подтверждения.После того, как я проверил адрес электронной почты, я хочу войти в систему, чтобы вернуться к форме входа.emial_verified остается на «false», после того, как я перезагружаю страницу, это «true», но не тогда, когда я возвращаюсь со страницы подтверждения обратно на страницу входа.Кто-нибудь может мне помочь?

  constructor(
    public afs: AngularFirestore,   // Inject Firestore service
    public afAuth: AngularFireAuth, // Inject Firebase auth service
    public router: Router,  
    public ngZone: NgZone // NgZone service to remove outside scope warning
  ) {   

    /* Saving user data in localstorage when 
    logged in and setting up null when logged out */
    this.afAuth.authState.subscribe(user => {
      if (user) {
        this.userData = user;
        localStorage.setItem('uid', this.userData.uid);
        localStorage.setItem('user', JSON.stringify(this.userData));
        JSON.parse(localStorage.getItem('user'));
      } else {
        localStorage.setItem('user', null);
        JSON.parse(localStorage.getItem('user'));
      }
    })
  }

// Sign up with email/password
  SignUp(email, password) {
    return this.afAuth.auth.createUserWithEmailAndPassword(email, password)
      .then((result) => {
        console.log(result);
        /* Call the SendVerificaitonMail() function when new user sign 
        up and returns promise */
        this.SendVerificationMail();
        this.SetUserData(result.user);
      }).catch((error) => {
        window.alert(error.message)
      })
  }

  // Send email verfificaiton when new user sign up
  SendVerificationMail() {
    return this.afAuth.auth.currentUser.sendEmailVerification()
    .then(() => {
      this.router.navigate(['verify-email-address']);
    })
  }

1 Ответ

0 голосов
/ 08 февраля 2019

Это не ошибка, а ожидаемое поведение.

Проверка электронной почты происходит вне диапазона (как в случае: вы нажимаете ссылку в своем почтовом клиенте, а не в приложении), поэтому приложение не знает об изменении статуса проверки.Это означает, что он не может автоматически обновлять токен идентификатора, откуда клиент получает информацию о профиле клиента.

Токен автоматически обновляется каждый час, поэтому со временем он обновится.Если вы хотите получить обновленное значение раньше, вы можете принудительно обновить токен.

См. Также:

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