ну ты ж вкурси, что из любой стратерии надо вернуть объект либо с юзером, либо с ошибкой. А уж как ты получишь юзера это твое дело.
ну да, раньше так было
module.exports = passport => {
passport.use(
new JwtStrategy(options, async(payload, done) => {
try {
const user = await User.findById(payload.userId).select('email id appId serverRules clientRules appLang')
if(user) {
done(null, user);
} else {
done(null, false);
}
} catch (e) {
console.log(e);
}
})
)
}
сейчас так
module.exports = passport => {
passport.use(new LocalStrategy(
{ usernameField: 'email' },
(email, password, done) => {
User.findOne({email: email})
.then(res => {
// console.log(res)
const user = res
if (!user) {
console.log('not a user')
return done(null, false, { message: 'Invalid credentials.\n' });
}
if (!bcrypt.compareSync(password, user.password)) {
console.log('not bcrypt')
return done(null, false, { message: 'Invalid credentials.\n' });
}
return done(null, user);
})
.catch(error => done(error));
}
));
вот и сижу думаю переписывать новый вариант)