Firebase Auth Async ждут - PullRequest
       13

Firebase Auth Async ждут

0 голосов
/ 11 ноября 2019

Я новичок в использовании async await и пытаюсь выполнить Auth createUserWithEmailAndPassword в firebase.

signUp

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'
            })
        }
    }
}

Моя проблема заключается в следующемфактически создает учетную запись, но всегда возвращает статус 500 Что-то пошло не так, попробуйте позже

РЕДАКТИРОВАТЬ:

console.log(err) дает следующий вывод:

TypeError: response.getIdToken не является функцией

Я попытаюсь разобраться в этом.

1 Ответ

1 голос
/ 11 ноября 2019

createUserWithEmailAndPassword возвращает Promise И getIdToken - это метод пользователя ( Документация )

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
});
...