85 votes

Node + Express + Passport : req.user Indéfini

Ma question est similaire à celle-ci un mais il n'y a pas eu d'éclaircissement sur sa solution.

J'utilise Passport pour m'authentifier sur Instagram. Après une authentification réussie, les utilisateurs sont dirigés vers "/". À ce stade, la demande contient l'objet utilisateur (c'est-à-dire qu'elle fonctionne). Cependant, une fois que j'ai redirigé, le req.user est indéfini :'(

Ce qui est étrange, c'est que passport.deserializeUser est appelé à chaque requête. Il réussit à obtenir l'objet utilisateur, mais quelque part sur la route du middleware, req.user n'est pas défini (ou n'est pas défini).

// on successful auth, goto "/" 
app.get('/', function(req, res) {
    // if the request has the user object, go to the user page
    if (req.user) {
        res.redirect("/user/" + req.user._id);
    }

    res.render("index");
}

app.get('/user/:uid', function(req, res) {
    console.log(req.user) // undefined
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X