I have created a simple user login application following an online tutorial using Node, Express and Passport. Login works correctly but I would like to get the username of the current logged in user and I can't seem to get this working.
I have the following in my app.js:
/// Configuring Passport
var passport = require('passport');
var expressSession = require('express-session');
app.use(expressSession({
secret: 'cookie_secret',
name: 'cookie_name',
proxy: true,
resave: true,
saveUninitialized: true
}));
app.use(passport.initialize());
app.use(passport.session({
secret: 'cookie_secret',
name: 'cookie_name',
proxy: true,
resave: true,
saveUninitialized: true
}));
From what I read in similar posts, I need to expose the username so that I may use it in other files. I tried to do this in my app.js:
app.get('/home', function(req, res) {
res.render('home.jade', { username: req.user.username });
});
Home is a route where I would like to use the the username, and I am trying to access the username with an alert like the following:
alert(req.user.username);
This does not work, the req object is undefined...I'm not sure what I am missing?
Managed to get this working. In my app.js I have:
app.get('/home', function(req, res) {
res.render('home.jade', { username: req.user.username });
});
And then in my /home route I can access the username by doing:
req.user.username