Open behzadnm99 opened 5 years ago
@behzadnm99 did you find any solution for this? I am facing the same issue here.
you can rename your strategy, for example :
passport.use("local-admin", new LocalStrategy(
function(username, password, done) {
UserAdmin.findOne({ username: username }, function (err, user) {
if (err) { return done(err); }
if (!user) { return done(null, false); }
if (!user.verifyPassword(password)) { return done(null, false); }
return done(null, user);
});
}
));
passport.use("local-user", new LocalStrategy(
function(username, password, done) {
User.findOne({ username: username }, function (err, user) {
if (err) { return done(err); }
if (!user) { return done(null, false); }
if (!user.verifyPassword(password)) { return done(null, false); }
return done(null, user);
});
}
));
and in your route :
app.post('/admin/login',
passport.authenticate('local-admin', { failureRedirect: '/admin/login' }),
function(req, res) {
res.redirect('/admin');
});
app.post('/login',
passport.authenticate('local-user', { failureRedirect: '/login' }),
function(req, res) {
res.redirect('/');
});
Environment
hello guys. i using passport-local for authentication and i want apply local auth strategy on two type of user : normal users and admin.
how to handle this senario with passport-local?
please help me. thank you.