试图在 Koa 2 中实施本地 Passport 策略,但我错过了一些重要的东西......
当我的路线到达passport.authenticate() 时,我可以检索我的用户,但我永远不会从那个await() 返回,所以我的代码不会进一步发展。
授权:
passport.use( new LocalStrategy(async(username, password, done) => {
console.log('AUTHENTICATING!');
try {
let user = await User.findOne({username:username});
if(user) {
console.log('USER FOUND - DONE');
done(null, user);
} else {
console.log('USER NOT FOUND - DONE');
done(null, false);
}
} catch (err) {
throw err;
}
}));
路线
router.post('/login', bodyParser(), async(ctx, next) => {
try {
await passport.authenticate('local')(ctx,next);
console.log('I NEVER MAKE IT TO THIS POINT');
} catch (err) {
throw err;
}
});
所以我的代码命中('USER FOUND - DONE')......但我从来没有在路线中达到'我从来没有做到这一点'。已经尝试过切换几件事,所以我确信这可能是我做得不对的事情。