I have an app that uses express, express-session, socket.io and socket.io.streams. The client connects to the server using:
socket.connect ('/ namespace')
But when the connection is achieved, my req.session object remains empty. Does anyone know how to prevent this from happening?
This is the configuration of express sessions:
// app.js
var session = require('express-session');
var MySQLStore = require('express-mysql-session')(session);
var sessionStore = new MySQLStore({
"host": "localhost",
"port": 3306,
"user": "root",
"password": "somepass",
"database": "databse",
"checkExpirationInterval": 0,
"createDatabaseTable": true,
"schema": {
"tableName": "sessions_user"
}
});
app.use(session({
key: 'YUYUY6T76F78TF8YV9YV54S3A2A4D5F8',
secret: '2MDT6T6T6T6T6T65DA4ZCM',
store: sessionStore,
resave: true,
saveUninitialized: true,
maxAge: 20000,
cookie: {
secure: false,
maxAge: 600000
}
}));
The way I start the server is very simple
// bin/www
var app = require('../app');
var server = http.createServer(app);
var io = require('socket.io').listen(server);