PassportJS - 多个本地策略不起作用

时间:2017-06-29 16:58:10

标签: node.js mongodb express passport.js

我正在开发一个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未定义。

0 个答案:

没有答案