passport.authenticate中的req对象

时间:2014-01-14 09:07:24

标签: node.js express passport.js

我在服务器上使用passportjs进行身份验证。我使用以下代码:

exports.auth = function(req, res, next){
  passport.authenticate('bearer', { session: false })(req, res, next);
};

passport.use(new BearerStrategy(
  function(token, done) {
    User.findOne({ token: token }, function (err, user) {
      if (err) { return done(err); }
      if (!user) {
        return done(null, false);
      }
      return done(null, user, { scope: 'read' });
    });
  }
));

有没有办法访问passport.use中的req对象?这是我可以获取用户的IP地址并检查最终的攻击。<​​/ p>

1 个答案:

答案 0 :(得分:1)

example中的注释表明您可以传递对象{ "passReqToCallback": true }以使回调函数中的req回调可用。哪个可以作为

访问

function(req, token, done){//rest of the function body}

初始化passport.use为

passport.use(new BearerStrategy({ "passReqToCallback": true },

 function(req, token, done) {
  });  

你应该在回调中有req。