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 に答える