Po prostudování dokumentace passport.js (sláva Jaredovi) jsem pochopil, že dělám téměř všechno špatně.
-
Vytvořeny dvě localStrategies
passport.use('userLocal', new LocalStrategy(User.authenticate())); passport.use('clientLocal', new LocalStrategy(Client.authenticate()));
a ověřit,
passport.authenticate('userLocal')(req, res, function () {
res.redirect('/profile');
});
and
passport.authenticate('clientLocal')(req, res, function () {
res.redirect('/client');
});
-
Použitý modul pasu (l=nepoužíváte modul passport-local-mongoose) pro serializeUser a deseriealizeUser.
passport.serializeUser(function(user, done) { done(null, user); });
passport.deserializeUser(function(user, done) { if(user!=null) done(null,user); });
Celé uživatelské schéma (objekt) je nyní uloženo v požadavku a lze k němu přistupovat prostřednictvím kterékoli z vašich cest.
Doufám, že to pomůže ostatním s podobným problémem.