socket.io-session-middleware

0.1.0 • Public • Published

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.

Dependencies (0)

    Dev Dependencies (2)

    Package Sidebar

    Install

    npm i socket.io-session-middleware

    Weekly Downloads

    0

    Version

    0.1.0

    License

    MIT

    Last publish

    Collaborators

    • hpohlmeyer
    • thois
    • jhnns
    • meaku
    • peeri
    • matthaias
    • leomelzer
    • antosan
    • moritzjacobs