javascript - 如何知道电子邮件是否已经在firebase身份验证中注册,javascript?

标签 javascript firebase firebase-authentication

我正在为用户进行电子邮件更新,但首先我需要知道该电子邮件之前是否已在 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.
                                        });
                                    })
                              }

但是在我更新电子邮件之前,我必须验证它是否已经存在,如果电子邮件存在,因为不允许更新邮件,如果电子邮件不存在,因此我更新电子邮件。

首先非常感谢您。

最佳答案

检查下面的代码。我认为您正在尝试更改您登录时使用的同一电子邮件。我做了一些细微的更改和评论。

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

关于javascript - 如何知道电子邮件是否已经在firebase身份验证中注册,javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55720389/

相关文章:

firebase - Flutter-PlatformException:错误,无效的文档引用。文档引用的段数必须为偶数,但用户的段数为1,则为null

android - window.FirebasePlugin.verifyPhoneNumber 函数响应无法使用

javascript - Node js : execute one function inside another with same parameter names

javascript - 您是否应该向前端公开一个将数据写入数据库的函数?

javascript - Angular 计算条件是否错误?

ios - 使用 firebase 获取 UITableview 中的父键

firebase - ionic2 - angularfire2 - firestore : Missing or insufficient permissions on logout

android - 使用 Google 登录时出现 Firebase 错误。 12501 空

java - Facebook 登录错误 "disabled Oauth client flow"但我已启用它

javascript - 添加/删除不在最后一行的 float <li> 时动画 <ul> 高度