使用云功能请求/快速创建新帐户

时间:2018-04-20 00:05:01

标签: javascript firebase express firebase-authentication google-cloud-functions

我正在尝试使用云功能创建新帐户。 这是我的功能:

    const functions = require('firebase-functions');
const admin = require('firebase-admin');
const express = require('express');
const cors = require('cors')({origin: true});

admin.initializeApp(functions.config().firebase);

// Create the server
const app = express(); 

app.use((err, req, res, _next) => {
  console.log('Error handler', err);
  console.log(req);
  if(err){
    res.status(400).send({
      message:'error',
      message2:req,
      message3:req.body
    });
  } else {
   admin.auth().createUser({
  email: "user@example.com", //change with post request data
  password: "secretPassword", //change with post request data

})
  .then(function(userRecord) {
    console.log("Successfully created new user:", userRecord.uid);
  })
  .catch(function(error) {
    console.log("Error creating new user:", error);
  });



  }
});
app.use(cors);
app.get('/', (req, res) => {
    res.send(`Hello ${req}`);
  });
exports.registeration = functions.https.onRequest(app);

现在我只是想测试。我在客户端使用请求库:

request.post(
    'urloffunction',
    { json: { key: 'Testing testing' } },
    function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body)
        }
    }
);

基本上我要做的是将一些帐户数据发送到服务器功能并使用云功能创建一个新帐户。 enter image description here

1 个答案:

答案 0 :(得分:2)

如果您想使用Express应用程序处理来自Cloud Functions的HTTP请求,您必须在该应用程序中至少声明一条与传入请求匹配的路由。您的示例声明没有路由,这意味着任何请求都不会执行任何代码。

您可以在此处看到设置Express路线的官方示例:https://github.com/firebase/functions-samples/tree/master/authorized-https-endpoint/