Поймать ошибки обновления электронной почты с помощью Firebase auth (Web) - PullRequest
0 голосов
/ 02 мая 2018

Я обновляю электронную почту пользователя в Firebase, повторно аутентифицируя его , а затем обновляя пользователя :

const user = firebase.auth().currentUser;
const credential = firebase.auth.EmailAuthProvider.credential('my-email@test.com', 'my-password');

user.reauthenticateWithCredential(credential)
    .then(user.updateEmail('my-new-email@test.com'))
    .then(() => {
      console.log('ok');
    })
    .catch((error) => {
      if (error.code === 'auth/wrong-password') {
        // ...
      } else if (error.code === 'auth/invalid-email') {
        // ...
      } else if (error.code === 'auth/email-already-in-use') {
        // ...
      }
    });

Это работает, но я не могу отловить ошибки, выданные частью user.updateEmail. По некоторым причинам ошибки из части user.reauthenticateWithCredential являются осторожными. Например, если я введу неправильный пароль, у меня будет ошибка с кодом auth/wrong-password code в моем блоке catch((error) => {}, но если я введу неверный адрес электронной почты, у меня будет только это сообщение в консоли:

Uncaught 
L {code: "auth/invalid-email", message: "The email address is badly formatted."}

1 Ответ

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

Nervermind Я идиот:

.then(user.updateEmail('my-new-email@test.com'))

должно быть

.then(() => user.updateEmail('my-new-email@test.com'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...