socket.io-express-session

Use express-session as socket.io middleware.

Usage no npm install needed!

<script type="module">
  import socketIoExpressSession from 'https://cdn.skypack.dev/socket.io-express-session';
</script>

README

socket.io-express-session

Use express-session as socket.io middleware.

Setup

All you have to do is adding a middleware like you would in your express app.

var ios = require('socket.io-express-session');
var session = ... configured express-session instance
...

io.use(ios(session));
...
io.on('connection', function(socket){
  console.log(socket.handshake.session);
});

EXAMPLE: An example app is available under the the example folder. Run the npm run example command to start it.

IMPORTANT: You must pass the same session configuration into express and socket app (the same store, same secret)!

IMPORTANT: Do not use the default MemoryStore session store. It is not designed for a production environment. If you do use the default store then you should pass the same session instance to express and socket app (data are saved in memory).