Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Firebase身份验证异步等待_Node.js_Firebase_Async Await_Firebase Authentication - Fatal编程技术网

Node.js Firebase身份验证异步等待

Node.js Firebase身份验证异步等待,node.js,firebase,async-await,firebase-authentication,Node.js,Firebase,Async Await,Firebase Authentication,我不熟悉使用async await,我正在尝试在firebase中使用电子邮件和密码验证createUserWithEmailAndPassword 报名 我的问题是,这实际上是在创建一个帐户,但总是返回500的状态。如果出现问题,请稍后再试 编辑: console.logerr提供以下输出: TypeError:response.getIdToken不是函数 我将尝试研究它。createUserWithEmailAndPassword返回,getIdToken是一种用户访问方法 createU

我不熟悉使用async await,我正在尝试在firebase中使用电子邮件和密码验证createUserWithEmailAndPassword

报名

我的问题是,这实际上是在创建一个帐户,但总是返回500的状态。如果出现问题,请稍后再试

编辑: console.logerr提供以下输出:

TypeError:response.getIdToken不是函数

我将尝试研究它。

createUserWithEmailAndPassword返回,getIdToken是一种用户访问方法

createUserWithEmailAndPassword返回,getIdToken是用户


那么错误到底是什么呢?@zerkms我编辑了我的问题。看起来我的getIdToken正在抛出错误。不是getIdToken抛出错误,而是调用response.getIdToken,它不是一个函数。response.getIdToken是在哪里定义的?那么错误到底是什么呢?@zerkms我编辑了我的问题。看起来我的getIdToken抛出了一个错误。不是getIdToken抛出,而是调用response.getIdToken,它不是一个函数。在哪里定义了response.getIdToken?在response.user.getIdToken中也放置wait,因为它将引发错误。在response.user.getIdToken中也放置wait,因为它将引发错误
exports.signup = async (req, res) => {
    const { email, password, confirmPassword, handle } = req.body

    const newUser = {
        email,
        password,
        confirmPassword,
        handle
    }

    try {
        const response = await firebase.auth().createUserWithEmailAndPassword(newUser.email, newUser.password)
        const token = response.getIdToken()
        console.log('THIS IS THE RESPONSE', token)
        // return token
        return res.status(200).json({
            message: 'User Successfully Added!',
            token: token
        })

    } catch (err) {
        if (err.code === 'auth/email-already-in-use') {
            return res.status(400).json({
                message: 'Email already taken!'
            })
        } else {
            return res.status(500).json({
                message: 'Something went wrong, Please try again later'
            })
        }
    }
}
const response = await firebase.auth().createUserWithEmailAndPassword(newUser.email, newUser.password);
const token = await response.user.getIdToken(); // getIdToken is a method of user
console.log('THIS IS THE RESPONSE', token);
// return token
return res.status(200).json({
    message: 'User Successfully Added!',
    token: token
});