我在服务器上使用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>
答案 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。