【发布时间】:2019-01-03 08:44:31
【问题描述】:
我是 Firebase 云函数的初学者。我使用云功能的主要目的是进行身份验证。
index.js(在函数文件夹中)
var admin = require("firebase-admin");
const functions = require('firebase-functions');
const createuser = require('./funs/create_user');
var serviceAccount = require('./funs/serviceAccount.json');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "//Given by Firebase"
});
exports.createuser = functions.https.onRequest(createuser);
create_user.js
const admin = require("firebase-admin");
module.exports = function (req,res) {
if(!req.body.phone)
{
return res.status(422).send({error: "Bad Input"});
}
const phone = String(req.body.phone).replace(/[^\d]/g,"");
admin.auth().createUser({ uid: phone })
.then((user) => res.send(user))
.catch((err)=>res.status(422).send({error:err}));
//return 1;
}
当我使用 Postman 调用函数时,我将数据传递给云函数:
{
"phone": "1212121212"
}
我收到响应为“错误输入”,如 if 语句。
删除 if 条件后,我将其作为我的响应
{
"error": {
"code": "auth/invalid-uid",
"message": "The uid must be a non-empty string with at most 128
characters."
}
}
【问题讨论】:
-
如何调用这个 HTTPS 函数以及如何将数据(即电话号码)传递到 HTTP 请求的正文。如果您尝试记录 req.body 会发生什么?
-
我调用该函数并使用 Postman Web 应用程序传递数据。我已经编辑并附加了图片链接。谢谢
标签: node.js firebase google-cloud-functions