Skip to content

Latest commit

 

History

History
61 lines (41 loc) · 1.5 KB

README.md

File metadata and controls

61 lines (41 loc) · 1.5 KB

socket.io-session-middleware

Share connect/express sessions with socket.io 1.x

Setup

npm status

Dependency Status

Example

Server

var socketSession = require("socket.io-session-middleware");

var session = {
  store: new connect.session.MemoryStore(),
  secret: "secret",
  key: "mykey.sid",
  cookieParser: connect.cookieParser("secret"),
};

io.use(socketSession(session));

io.on("connection", function (socket) {
  socket.on("whoAreYou", function (callback) {
    //read from session
    callback(socket.session.name);
  });

  socket.on("setName", function (data) {
    //write to session
    socket.session.name = data.name;
  });
});

Client

socket.emit("setName", { name: "hans" });

socket.emit("whoAreYou", function (name) {
  console.log("I am " + name);
});

//=> I am hans

A full featured example can be found in the example folder.

Notes

Make sure to fire a http request to initialize the session/cookie before accessing the session with socket.io. If you are serving the socket.io client with your node.js server this won't be a problem for you.

Sponsors