我正在向我的应用程序的后端发出jQuery发布请求。我首先使用Firebase的auth来检索用户的idToken并将其发送到我的后端以进行验证:

      var user = firebase.auth().currentUser;
      user.getIdToken(true).then(function(idToken) {
        $.post('/setIdentity_learner', {Token: idToken}, () => {})
      });


并在我的后端接收它,请检查令牌:

router.post('/setIdentity_learner', (req, res) => {
  console.log("passed");
  console.log(req.body.Token);

  admin.auth().verifyIdToken(req.body.Token).then((user) => {
    console.log(user);
  })
})


但是这个简单的代码返回错误:TypeError: Cannot read property 'Token' of undefined
我想我没有通过使用req.body.Token正确阅读它。那我该如何在Express Express后端正确接收令牌?

我已经部署了这些代码

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());


我做了很多研究,尝试了建议,但没有成功。

有什么想法吗?谢谢

最佳答案

body-parser是一个中间件,因此您需要在路由之前使用它。将app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json());放在app.use(router_firebase);可能有帮助之前。

07-28 04:14