Efter att ha gått igenom dokumentationen för passport.js (kudos till Jared) förstod jag att jag gjorde nästan allt fel.
-
Skapade två lokala strategier
passport.use('userLocal', new LocalStrategy(User.authenticate())); passport.use('clientLocal', new LocalStrategy(Client.authenticate()));
och för att autentisera,
passport.authenticate('userLocal')(req, res, function () {
res.redirect('/profile');
});
and
passport.authenticate('clientLocal')(req, res, function () {
res.redirect('/client');
});
-
Använde passmodulen (l=använder inte modulen passport-local-mongoose) för serializeUser och deseriealizeUser.
passport.serializeUser(function(user, done) { done(null, user); });
passport.deserializeUser(function(user, done) { if(user!=null) done(null,user); });
Hela användarschemat (objektet) lagras nu i begäran och kan nås via vilken som helst av dina rutter.
Hoppas det hjälper andra med liknande problem.