Nodejs, how do I pass req.body instead of req.query into my passport authentication?

Viewed 183

It is my first time using passport authentication in nodejs. I am using express to handle the requests. I have encountered passport is only accepting req.query instead of the req.body where req being my request object in my express route. Since I am passing login credentials, I didn't want to use querying approach. This is my passport login handler defined in a separate file called Passport-config.js.

function initPassport(passport){
    // DEFINE THE PASSPORT LOCAL STRATEGY
    passport.use(new LocalStrategy({
        usernameField:"email",
        passwordField:"password",
        // passReqToCallback:true
    },function(email,password,done){
        // GET THE USER
        const user = AdminHdlr.getUserByEmail(email)
        // USER DOESN'T EXIST
        if(user==null){
            return done(null,false,{"message":"User doesn't exist"})
        }
        // PASSWORD INCORRECT
        if(user.password!=password){
            return done(null,false,{"message":"Incorrect password"})
        }
        // AUTHENTICATED USER
        return done(null,true,user)
    }))
    // SERIALIZE THE USER
    passport.serializeUser(function(user,done){
        done(null,user)
    })
    // DESERIALIZE THE USER
    passport.deserializeUser(function(user,done){
        // const User_fetched = AdminHdlr.getUserByEmail("abenezer")
        done(null,user)
    })
}

here is my route code segment that only accepts query in a separate file called Admin.js

router.use(passport.initialize())
router.use(passport.session()) // persistent session


// initializing the passport
try {
    initializePassport(passport)
} catch (error) {
    console.log("Found where the error is")
}

router.post("/login",passport.authenticate('local',
{
    successRedirect:'http://localhost:3000/admin/success',
    failureRedirect:'http://localhost:3000/admin/something',
}),(req,res)=>{
    console.log(req)
})

So how do I accept req.body instead of req.query in passport?

0 Answers
Related