This repository has been archived on 2024-11-11 . You can view files and clone it, but cannot push or open issues or pull requests.
				
			
		
		
		
			
				
					
						
					
					3675d24adf37e720846ae73723030276199c17f0
				
			
			
		
	Success and Fail Callbacks
Access Passport.js user information from socket.io connection.
Installation
npm install passport.socketio
Usage
  //configure passport and express
  var socketIo = require("socket.io"),
    passportSocketIo = require("passport.socketio");
  var sio = socketIo.listen(webServer);
  sio.set("authorization", passportSocketIo.authorize({
    sessionKey:    'express.sid',      //the cookie where express (or connect) stores its session id.
    sessionStore:  mySessionStore,     //the session store that express uses
    sessionSecret: "my session secret", //the session secret to parse the cookie
    fail: function(data, accept) {     // *optional* callbacks on success or fail
      accept(null, false);             // second param takes boolean on whether or not to allow handshake
    },
    success: function(data, accept) {
      accept(null, true);
    }
  }));
  sio.sockets.on("connection", function(socket){
    console.log("user connected: ", socket.handshake.user.name);
    
    //filter sockets by user...
    var userGender = socket.handshake.user.gender, 
        opposite = userGender === "male" ? "female" : "male";
    passportSocketIo.filterSocketsByUser(sio, function (user) {
      return user.gender === opposite;
    }).forEach(function(s){
      s.send("a " + userGender + " has arrived!");
    });
  });
License
MIT - José F. Romaniello 2012.
Description
				Authenticate socket.io incoming connections with JWTs.
						
						
							
								 https://www.npmjs.com/package/@thream/socketio-jwt
							
						
						
						
						
							
								 Readme
							
						
						
						
						
							
							
							 3.9 MiB
						
					
					Languages
				
				
								
								
									TypeScript
								
								98.9%
							
						
							
								
								
									Shell
								
								1.1%