KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I need a "Remember Me" checkbox when logging in like this . And I add a middleware before using passport app.use(function(req, res, next) { if (req.method == 'POST' && req.url == '/login') { if (req.body.rememberme) { req.session.cookie.maxAge = 1000 * 60 * 3; } else { req.session.cookie.expires = false; } } next(); }); app.use(passport.initialize()); app.use(passport.session()); I can not login when req.body.rememberme is true and the user is remembered when req.body.rememberme is false. I also tried connect-ensure-login and it still wrong. and another question: when should I delete the cookies in my database and how? :) Other code is exactly the same as the passport guide route: app.get('/', passport.authenticate('local', { failureRedirect: '/login' }), function(req, res) { res.redirect('/user/home'); }); app.post('/login', passport.authenticate('local', { failureRedirect: '/login' }), function(req, res) { res.redirect('/user/home'); }); sessions: passport.serializeUser(function(user, done) { var CreateAccessToken = function() { var token = user.GenerateSalt(); User.findOne({ accessToken: token }, function(err, existingUser) { if (err) return done(err); if (existingUser) { CreateAccessToken(); } else { user.set('accessToken', token); user.save(function(err) { if (err) return done(err); return done(null, user.get('accessToken')); }) } }); }; if (user._id) CreateAccessToken(); }); passport.deserializeUser(function(token, done) { User.findOne({ accessToken: token }, function(err, user) { if (err) return done(err
Tags (comma-separated)
Save Edits
Cancel