0

这是我的 index.js

app.get('/api/user', auth.authenticate, function(req, res){
    res.send("hi");
});

这是我的 auth.authenticate 函数:

exports.authenticate = function(req, res,done) {
 // function checkToken(req,res,next){
    console.log(req.body);
    authToken = req.body["auth_token"]
    consumerKey = req.body["consumer_key"]
    checkAuth(authToken,consumerKey,function response(user){
      done();
    });
}

身份验证后,我想将“用户”返回给 index.js 中的 app.get,以便我可以使用它来检索更多数据,但我不知道该怎么做。

是否可以通过 done() 回调发送用户?我试过但没有成功。

4

1 回答 1

1

是的,这是可能的,因为在 Express.js 中传递的请求对象是相同的。只需将其添加到请求中,如下所示:

checkAuth(authToken,consumerKey,function response(user){
  request.user = user;
  done();
});

然后你可以在 index.js 中使用它

app.get('/api/user', auth.authenticate, function(req, res){
    res.send("hi " + req.user);
});
于 2013-06-10T16:02:45.230 回答