Sharing Express sessions with Socket.IO

Now that we have session support in place, we can share the session with Socket.IO allowing us to accept or reject the connection based on this session data. Express and Socket.IO do this using a handshake mechanism. When a client connects to the server, the handshake is initiated, which consists of executing an authorization function on Socket.IO. Here, the cookie associated with the handshake request is examined and rejected if invalid. Let's install session.socket.io; a module that has wrapped up this process:

npm install session.socket.io --save

First off, let's change our Express server, ./lib/express/index.js, and pass to our SocketHandler module the sessionStore and the cookieParser:

var socketHandler ...

Get Advanced Express Web Application Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.