1
I’m using express to create route for my application. To login I have a route to authenticate using Passport and Passport-local. I need to compare the user access IP with the IP of the user that was registered.
router.post('/login', passport.authenticate('local', {
    successRedirect: '/index',
    failureRedirect: '/login?fail=true'
}))
In my file auth.js I have it ...
module.exports = passport => {
passport.use(
    new LocalStrategy({
        usernameField: 'username',
        passwordField: 'password',
        passReqToCallback: true
    },
    (req, username, password, done) => {
        console.log(req.headers)
        findUser(username, (err, user) => {
            if (err) return done(err)
            if (!user) return done(null, false)
            bcrypt.compare(password, user.password, (err, isValid) => {
                if (err) return done(err)
                if (!isValid) return done(null, false)
                return done(null, user)
            })
        })
    })
)}
In the express it is possible to obtain the header of the request made on the route using the first callback parameter request.headers['x-forwarded-for'] but in Passport,  on the return of  request.headers['x-forwarded-for'] is undefined, then I checked that it does not have the header x-forwarded-for in the Passport request. How can I get it?