【发布时间】:2022-02-05 23:23:19
【问题描述】:
目前我对passport 有以下配置。在这里,每个登录请求都来自/login/students。 getUserById 函数从存储在数据库中的STUDENT 表中查找用户。但是登录请求也可以来自/login/instructors,在这种情况下,我想从INSTRUCTORS 表中查找用户。但目前没有办法检查传入路由的名称。我怎么知道我的登录请求来自哪个路由?任何帮助表示赞赏:)
const initialize = (passport) => {
passport.use(new LocalStrategy({ usernameField: 'username', passwordField: 'password' }, authenticateUser));
passport.serializeUser((user, done) => done(null, user.ID));
passport.deserializeUser(async (id, done) => {
const user = await getUserById(id);
done(null, user);
});
};
登录路由器代码:
router
.route('/login/students')
.post(
checkAuth.not, //login only if user is not in current session
passport.authenticate('local', {
successRedirect: '/home/students',
failureRedirect: '/login/students',
})
);
【问题讨论】:
标签: express passport.js