Der Versuch, eine lokale Pass Strategie in Koa 2 zu implementieren, aber ich bin fehlt etwas Wesentliches ...Koa 2 + Passport + async
Als meine Route trifft passport.authenticate(), ich bin in der Lage meine abrufen Benutzer, aber ich komme nie von diesem warten(), so dass mein Code nicht weiter geht.
Auth:
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;
}
}));
Routen
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;
}
});
So Hits meinen Code ('USER GEFUNDEN - FERTIG') ... aber ich nie erreichen 'ICH MACHE NIE ES DIESER STELLE' in die Route. Habe versucht, einige Dinge zu wechseln, also bin ich mir sicher, dass es etwas wirklich albernes sein könnte, was ich nicht richtig mache.
Ich denke, ein Teil meines Problems kann sein, dass pass.authenticate() kein Versprechen zurückgibt. Versuchen Sie es in co() zu verpacken. –
Verwenden Sie https://github.com/rkusa/koa-passport? – laggingreflex
Yup, mit dem @ next-Tag auch. Das Problem ist, dass der Reisepass selbst keine Versprechen zurück gibt, also müssen Sie selbst eine zurückgeben –