Passport.js: jak uzyskać dostęp do obiektu użytkownika po uwierzytelnieniu?

Używam Passport.js do logowania użytkownika przy użyciu nazwy użytkownika i hasła. W zasadzie używam przykładowego kodu ze strony Passport. Oto odpowiednie części (tak myślę) mojego kodu:

app.use(passport.initialize());
app.use(passport.session());

passport.serializeUser(function(user, done) {
    done(null, user);
});

passport.deserializeUser(function(obj, done) {
    done(null, obj);
});

passport.use(new LocalStrategy(function(username, password, done) {
    User.findOne({ username: username }, function(err, user) {
        if (err) {
            return done(err);
        }
        if (!user) {
            return done(null, false, { message: 'Incorrect username.' });
        }
        if (!user.validPassword(password)) {
            return done(null, false, { message: 'Incorrect password.' });
        }
        return done(null, user);
        });
    }
));

app.post('/login',
    passport.authenticate('local', { failureRedirect: '/login/fail', failureFlash: false }),
    function(req, res) {
        // Successful login
        //console.log("Login successful.");
        // I CAN ACCESS req.user here
});

To wydaje się poprawnie logować. Chciałbym jednak mieć dostęp do informacji logowania użytkownika w innych częściach kodu, takich jak:

app.get('/test', function(req, res){
    // How can I get the user's login info here?
    console.log(req.user);  // <------ this outputs undefined
});

Sprawdziłem inne pytania dotyczące SO, ale nie jestem pewien, co tu źle robię. Dziękuję Ci!

questionAnswers(3)

yourAnswerToTheQuestion