Setelah melalui dokumentasi passport.js (kudos to Jared), saya mengerti bahwa saya melakukan hampir semua kesalahan.
-
Membuat dua Strategi lokal
passport.use('userLocal', new LocalStrategy(User.authenticate())); passport.use('clientLocal', new LocalStrategy(Client.authenticate()));
dan untuk mengautentikasi,
passport.authenticate('userLocal')(req, res, function () {
res.redirect('/profile');
});
and
passport.authenticate('clientLocal')(req, res, function () {
res.redirect('/client');
});
-
Modul paspor bekas (l=tidak menggunakan modul paspor-lokal-luwak) untuk serializeUser dan deseriealizeUser.
passport.serializeUser(function(user, done) { done(null, user); });
passport.deserializeUser(function(user, done) { if(user!=null) done(null,user); });
Seluruh skema pengguna (objek) sekarang disimpan dalam permintaan dan dapat diakses melalui salah satu rute Anda.
Semoga ini membantu orang lain yang memiliki masalah serupa.