Ich habe eine Nodejs App mit dem Express-Framework erstellt. Es gibt einige Routen und ich benutze Pass-Bibliothek für die Authentifizierung. Hier ist mein Login-URL-Mappingwie man app.use in nodejs synchron macht
app.post('/login', loginHandler);
und vor diesem, habe ich verwendet app.use
// middleware to use passport strategy
app.use((req: any, res: any, next: any) => {
if (req.originalUrl == '/login') {
passport.authenticate('local', { session: false }, (err, user) => {
if (user) {
req.user = user;
}
})(req, res, next);
}
next();
});
und in meiner loginHandler
function loginHandler(req: any, res: any) {
console.log("user", req.user)
if (!req.user) {
console.log("NoUser")
} else {
res.redirect("/home");
}
aber loginHandler
Methode nicht Benutzerobjekt in Request-Objekt bekommt weil app.use
asynchron ist. Wie kann ich das lösen?
Markieren Sie es, wenn das Ihr Problem löst. Ich habe auch anderen Zustand hinzugefügt. –