socket.io-bundle

A collection of middlewares for Socket.IO

Socket.IO-bundle

This is a collection of commonly used middlewares for Socket.IO, which I wish Socket.IO was bundled with. Socket.IO-bundle is based on Express middlewares, so that you can easily integrate with Express and Connect.

var bundle = require('socket.io-bundle');
var server = require('http').Server();
var io = require('socket.io')(server);
 
io.use(bundle.cookieParser());
io.use(bundle.session({secret: 'my secret here'}));
io.use(bundle.csrf());
 
server.listen(3000);

Arguments for each middlewares are completely the same with Express's ones. You must be aware of that session middleware can’t set cookies to clients due to the behavior of Socket.I.

Csrf tokens will be supplied to browsers via Express/Connect, and be sent to a Socket.IO server as a query parameter.

// client 
var socket = io('http://localhost:3000?_csrf=' + encodeURIComponent(_csrf));

MIT