如何检查Firebase Web中的身份验证过程中是否存在错误?

时间:2017-06-29 04:22:02

标签: javascript jquery firebase firebase-realtime-database firebase-authentication

我是Web开发的新手,尤其是Firebase。

我正在尝试检查在Firebase身份验证系统中创建用户时是否没有错误,因此我可以将此用户放入数据库。

这是我的代码:

function register() {

    var firebaseRef = firebase.database().ref();

    var shaObj = new jsSHA("SHA-256", "TEXT")
    shaObj.update(passwordField.value)

    //console.log(hash)

    var email = emailField.value
    var password = shaObj.getHash("HEX")

    if (isBarber != null) {

        if (email != "" && password != "") {

            firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
                $('#errorMsg').show();
                $('#errorMsg').text(error.message);

                if (error === null) {

                    var user = firebase.auth().currentUser;
                    var userID = user.uid;

                    firebase.database().ref('users/' + userID).set({
                        userEmail: email,
                        userPassword: password,
                        userIsBarber: isBarber
                    })
                }
            });         
        } else {
            alert('Email or password fields are empty')
        }
    } else {
        alert('Select your role')
    }
}

createUserWithEmailAndPassword正常工作并创建了一个用户,但我不知道如何检查是否存在错误,因此我可以将此用户添加到数据库中。

非常感谢

1 个答案:

答案 0 :(得分:2)

您可以使用then()对注册成功进行操作,如下所示:

firebase.auth().createUserWithEmailAndPassword(email, password).then(function(user) {
    //Registration is successful
    var user = firebase.auth().currentUser;
    var userID = user.uid;

    firebase.database().ref('users/' + userID).set({
        userEmail: email,
        userPassword: password,
        userIsBarber: isBarber
    })

}).catch(error) {
    //Registration unsuccessful 
    $('#errorMsg').show();
    $('#errorMsg').text(error.message);

});