I am trying to use express session to login. I would like users to be able to go to the profile page and view their user data if they are logged in.
I have been stuck here for several days. Line 33 of my file has undefined routes.jsin my route /profile GET req.user. But on line 27 of mine routes.js, in mine /login POST, req.user works as it should.
'use strict'
var User = require('mongoose').model('User')
module.exports = function(app, passport){
console.log('passport', passport)
app.route('/')
.get(function(req, res){
res.render('index')
})
app.get('/signUp', function(req, res){
res.render('signup')
})
app.route('/user')
.get(function(req, res){
})
.post(passport.authenticate('local-signup', { successRedirect: '/',
failureRedirect: 'signup' }))
app.route('/login')
.get(function(req, res){
res.render('login')
})
.post(passport.authenticate('local-login', { successRedirect: '/',
failureRedirect: '/login'}), function(req, res){
console.log('req.user', req.user)
})
app.route('/profile')
.get(function(req, res){
console.log('req.user', req.user)
if(!req.user){
res.render('profile', {user: "You're not logged in"})
}
if(req.user){
res.render('profile', {user: req.user})
}
})
}
Why is it not indicated on all my routes req.user? Should I express a session to populate a persistent object req.user?
Any help appreciated. Thanks!
source
share