如何使用两个LocalStrategy,一个用于前端身份验证,另一个用于后端身份验证?
// font end
passport.use(new LocalStrategy({
usernameField: 'email',
passwordField: 'password'
}), function (email, password, done) {
User.findOne({email: email}, function(err, user) {
// ...
done(null, user);
});
});
// back end
passport.use(new LocalStrategy({
usernameField: 'username',
passwordField: 'password'
}, function (username, password, done) {
SysUser.findOne({username: username}, function(err, user) {
// ...
done(null, user);
});
}));
答案 0 :(得分:0)
我认为你可以这样做:
// frontend
passport.use('frontend-local', new LocalStrategy({
....
});
//backend
passport.use('backend-local', new LocalStrategy({
....
});
然后,无论您想在一条路线中使用一种策略,只需将其称为:
app.post('/frontend/login',
passport.authenticate('frontend-local'),
...
和后端类似。