firebase - 代码:'auth/argument-error',消息:'属性参数必须是非空对象。'
问题描述
Firebase 云功能,我会使用电子邮件注册并返回 token,但出现如下错误:
errorInfo: {[enter image description here][1]
code: 'auth/argument-error',
message: 'Properties argument must be a non-null object.'
},
我的代码:
const { validateSignupData } = require("../util/validators");
const { admin, db } = require("../util/admin");
exports.postSignUp = (req, res) => {
const newUser = {
email: req.body.email,
password: req.body.password,
confirmPassword: req.body.confirmPassword,
handle: req.body.handle,
};
const { valid, errors } = validateSignupData(newUser);
if (!valid) return res.status(400).json(errors);
let token, userId;
db.doc(`/users/${newUser.handle}`)
.get()
.then((doc) => {
if (doc.exists) {
return res.status(400).json({ handle: "this handle is already taken" });
} else {
return admin.auth().createUser(newUser.email, newUser.password);
}
})
.then((data) => {
userId = data.user.uid;
return data.user.getIdToken();
})
.then((idToken) => {
token = idToken;
const userCredentials = {
handle: newUser.handle,
email: newUser.email,
createdAt: new Date().toISOString(),
userId,
};
return db.doc(`/users/${newUser.handle}`).set(userCredentials);
})
.then(() => {
return res.status(201).json({ token });
})
.catch((err) => {
console.error(err);
if (err.code === "auth/email-already-in-use") {
return res.status(400).json({ email: "Email is already is use" });
} else {
return res
.status(500)
.json({ general: "Something went wrong, please try again" });
}
});
};
解决方案
推荐阅读
- android - 在 Android TV 上创建水平滚动
- python - 循环中断而不执行最后一个打印语句
- javascript - 跨多个属性在数组中查找对象
- c++ - wxWidgets - `wxTimer` 每秒更新一个函数
- python-3.x - 如何将具有无值的熊猫数据框中的行添加到某些列
- javascript - 将 eval 与上下文绑定
- python - 如何从工程图图像中自动裁剪出图表?
- visual-studio - 在 VS 2015 中创建 nuget 包,包选项卡不可用
- javascript - 子集合的firestore查询错误:rest.collection不是函数
- angular - 如何将 $localize 动态分配给从环境文件导入的文本?