Nachdem ich die Dokumentation von Passport.js durchgesehen hatte (ein großes Lob an Jared), wurde mir klar, dass ich fast alles falsch machte.
-
Zwei localStrategies erstellt
passport.use('userLocal', new LocalStrategy(User.authenticate())); passport.use('clientLocal', new LocalStrategy(Client.authenticate()));
und zu authentifizieren,
passport.authenticate('userLocal')(req, res, function () {
res.redirect('/profile');
});
and
passport.authenticate('clientLocal')(req, res, function () {
res.redirect('/client');
});
-
Benutztes Passport-Modul (l=ohne Verwendung des Passport-Local-Mongoose-Moduls) für serializeUser und deserializeUser.
passport.serializeUser(function(user, done) { done(null, user); });
passport.deserializeUser(function(user, done) { if(user!=null) done(null,user); });
Das gesamte Benutzerschema (Objekt) wird nun in der Anfrage gespeichert und kann über jede Ihrer Routen aufgerufen werden.
Hoffe, es hilft anderen mit einem ähnlichen Problem.