socket-io.sessions

0.2.0 • Public • Published

Access Express session from socket.io.

Build Status

Installation

npm install socket-io.sessions

Usage

 
  //configure passport and express
 
  var socketIo = require("socket.io"),
    socketIoSessions = require("socket-io.sessions");
 
  var sio = socketIo.listen(webServer);
 
 
  //same attribute than the session middleware http://www.senchalabs.org/connect/middleware-session.html
 
  sio.set("authorization", socketIoSessions({
    key:    'express.sid',       //the cookie where express (or connect) stores its session id.
    secret: 'my session secret', //the session secret to parse the cookie
    store:   mySessionStore      //the session store that express uses
  }));
 
  sio.sockets.on("connection", function(socket){
    
    socket.handshake.getSession(function (err, session) {
      socket.emit('aaa!', session.someSessionProperty);
    });
 
  });
 

Change the session

 
socket.handshake.getSession(function (err, session) {
  session.something = 123;
  socket.handshake.saveSession(session, function (err) {
    //whatever
  });
});
 

Use with passport-socket.io

  var sessionOptions = {
    key:    'express.sid',      
    secret: 'my session secret',
    store:   mySessionStore     
  };
  //chain the two this way:
  sio.set("authorization", socketIoSessions(sessionOptions, passportSocketIo.authorize(sessionOptions)));

Develop

npm install npm test

License

MIT - José F. Romaniello 2012.

Package Sidebar

Install

npm i socket-io.sessions

Weekly Downloads

2

Version

0.2.0

License

MIT

Last publish

Collaborators

  • jfromaniello