Как узнать, было ли письмо уже зарегистрировано в аутентификации firebase, javascript? - PullRequest
0 голосов
/ 17 апреля 2019

Я делаю обновление электронной почты для пользователя, но сначала мне нужно узнать, было ли письмо ранее зарегистрировано в аутентификации firebase.

Таким образом я обновил электронную почту:

 if(administrador.correo != vm.editedItem.correo){
       console.log("ESTA ACTUALIZANDO CORREO");
       console.log(vm.editedItem);
       firebase.auth().signInWithEmailAndPassword(vm.editedItem.correo, vm.editedItem.contrasenia)
                                    .then(function(userCredential) {
                                        console.log("USER CREDENTIAL");
                                        console.log(userCredential);
                                        userCredential.user.updateEmail(vm.editedItem.correo)
                                        .then(function() {
                                            console.log("email update");
                                        // Update successful.
                                        }).catch(function(error) {
                                            console.log("ERROR");
                                            console.log(error);
                                        // An error happened.
                                        });
                                    })
                              }

Но прежде чем я смогу обновить электронную почту, я должен проверить, если она уже существует, если электронная почта существует, поскольку ей не разрешено обновлять почту, и если электронная почта не существует, поэтому я обновляю электронную почту.

Заранее большое спасибо.

Ответы [ 2 ]

1 голос
/ 17 апреля 2019

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

if (administrador.correo != vm.editedItem.correo) {
    console.log("ESTA ACTUALIZANDO CORREO");
    console.log(vm.editedItem);
    firebase.auth().signInWithEmailAndPassword(vm.currentItem.correo, vm.editedItem.contrasenia)  // sign in with current email and password
        .then(function (userCredential) {
            console.log("USER CREDENTIAL");
            console.log(userCredential);
            userCredential.user.updateEmail(vm.editedItem.correo)  // update new email
                .then(function () {
                    console.log("email update");
                    // Update successful.
                }).catch(function (error) {
                    console.log("ERROR");
                    console.log(error);
                    // An error happened.
                    // if updated user email already exists, it returns error code: auth/email-already-in-use
                });
        })
}

перейдите по этой ссылке для более updateEmail

0 голосов
/ 17 апреля 2019

Если произошла ошибка, проверьте код ошибки auth / email-уже используется.

Или используйте admin.auth().getUserByEmail(). Функции Build to Cloud и вызов функции из вашего приложения.

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