我正在构建一个应用程序,该应用程序需要注册和登录用户和组织。我正在使用节点js护照 - 相同的本地策略。我已经创建了所有视图,并与用户一起登录以工作,但是当我复制登录代码作为组织时,我收到意外的错误或被重定向到任何其他视图。
这是我的应用程序.js文件
// Passport Config
require('./config/Orgpassport')(Orgpassport);
require('./config/passport')(passport);
// Express session
app.use(
session({
secret: 'secret',
resave: true,
saveUninitialized: true
})
);
// Passport middleware
app.use(passport.initialize());
app.use(passport.session());
// Connect flash
app.use(flash());
这是我的护照.js文件
const LocalStrategy = require('passport-local').Strategy;
const bcrypt = require('bcryptjs');
// Load User model
const User = require('../models/User');
module.exports = function(passport) {
passport.use(
new LocalStrategy({ usernameField: 'email' }, (email, password, done) => {
console.log(passport);
// Match user
User.findOne({
email: email
}).then(user => {
if (!user) {
return done(null, false, { message: 'That email is not registered' });
}
// Match password
bcrypt.compare(password, user.password, (err, isMatch) => {
if (err) throw err;
if (isMatch) {
return done(null, user);
} else {
return done(null, false, { message: 'Password incorrect' });
}
});
});
})
);
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});
};
这是我对登录表单的帖子请求。
router.post('/Orglogin', (req, res, next) => {
passport.authenticate('local', {
successRedirect: '/Orgdashboard',
failureRedirect: '/org/Orglogin',
failureFlash: true
})(req, res, next);
});
我能够使用用户登录,但不能使用组织登录?
慕标5832272
相关分类