Efter at have gennemgået dokumentationen af passport.js (kudos til Jared), forstod jeg, at jeg gjorde næsten alt forkert.
-
Oprettet to lokale strategier
passport.use('userLocal', new LocalStrategy(User.authenticate())); passport.use('clientLocal', new LocalStrategy(Client.authenticate()));
og for at godkende,
passport.authenticate('userLocal')(req, res, function () {
res.redirect('/profile');
});
and
passport.authenticate('clientLocal')(req, res, function () {
res.redirect('/client');
});
-
Brugte pasmodul (l=bruger ikke pas-lokal-mongose-modulet) til serializeUser og deseriealizeUser.
passport.serializeUser(function(user, done) { done(null, user); });
passport.deserializeUser(function(user, done) { if(user!=null) done(null,user); });
Hele brugerskemaet (objektet) er nu gemt i anmodningen og kan tilgås via enhver af dine ruter.
Håber det hjælper andre med et lignende problem.