我有一种验证登录名的方法,我需要将当前的用户访问IP与已注册的用户IP进行比较。
router.post('/login', passport.authenticate('local', {
successRedirect: '/index',
failureRedirect: '/login?fail=true'
})
)
在我的auth.js
文件中,我有这个...
const bcrypt = require('bcryptjs')
const LocalStrategy = require('passport-local').Strategy
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)
})
})
}
)
)
}
回调中req上的x-forwarded-for
键是undefined
,因此我检查了headers
,发现x-forwarded-for
不存在。
我怎么能得到它?
`