Im trying to use cookies to stablish a user session with ExpressJS 4.2 and cookier-parser but all the documentation that I found is for Expressjs 3.x or older.
Can someone point me in the right direction whith this?
Doc or code snippet will be appreciated.
Thanks in advance!
======
I want to use PassportJS to authenticate local users with MongoDB, everything works fine excepts this route (ensureAuthenticatad always redirect to /, even when the user/pass is found in MongoDB
// reusable middleware
function ensureAuthenticated(req,res,next) {
if(req.isAuthenticated()) {return next();}
res.redirect('/'); // if failed...
}
router.get('/panel', ensureAuthenticated,function(req, res){
res.render('panel', {obj: testArr});
});
And thats because ensureAuthenticated cant find active cookies.
My app.js configuration is this:
var express = require('express');
var path = require('path');
var favicon = require('static-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var passport = require('passport')
var mongoose = require('mongoose');
var flash = require('connect-flash');
//Routes
//=====================================================================
var routes = require('./routes/index');
var admin = require('./routes/admin');
var panel = require('./routes/panel');
//Express configuration
//======================================================================
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
/*app.use(favicon());*/
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser('secret'));
app.use(flash());
app.use(passport.initialize());
app.use(passport.session());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/', admin);
You need to use https://www.npmjs.org/package/express-session to initialize cookies based sessions
var session = require('express-session');
//code
app.use(session({secret: 'keyboard cat'}));