我正在开发一个nodejs应用程序,我需要两个本地策略。两者的注册都很顺利,问题是当我尝试使用企业用户登录时。
Heres是我的代码:
let User = require('./models/userModel')
passport.use(User.createStrategy());
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
let Enterprise = require('./models/enterpriseModel')
let EnterpriseStrategy = require('passport-local').Strategy
passport.use('enterprise-local', new EnterpriseStrategy(Enterprise.authenticate()))
passport.serializeUser(Enterprise.serializeUser());
passport.deserializeUser(Enterprise.deserializeUser());
// Refactored code. But returns an error. ReferenceERROR: isUser is not defined
// passport.serializeUser(function(user, done) {
// if (isUser(user)) {
// done(null, User.serializeUser())
// } else if (isEnterprise(user)) {
// done(null, Enterprise.serializeUser())
// }
// });
有些人告诉我,问题是我要覆盖序列化。然后我使用了这个注释代码。但也会返回错误。 isUser未定义。