I wanted two types of users logging in (User, Client). How exactly can I create localStrategies, serialize and deserialize user for both types in my app.js I have two separa
After going through the documentation of passport.js (kudos to Jared), I understood that I was doing almost everything wrong.
Created two localStrategies
passport.use('userLocal', new LocalStrategy(User.authenticate()));
passport.use('clientLocal', new LocalStrategy(Client.authenticate()));
and to authenticate,
passport.authenticate('userLocal')(req, res, function () {
res.redirect('/profile');
});
and
passport.authenticate('clientLocal')(req, res, function () {
res.redirect('/client');
});
Used passport module (l=not using the passport-local-mongoose module) for serializeUser and deseriealizeUser.
passport.serializeUser(function(user, done) {
done(null, user);
});
passport.deserializeUser(function(user, done) {
if(user!=null)
done(null,user);
});
The whole user schema (object) is now stored in the request and can be accessed through any of your routes.
Hope it helps out others with a similar issue.