I was wondering how to configure passport.socketio
.
I read the docs, but I can still plunge into how to set the store
property.
I am using passport-local
.
Here is my code (relevant sections):
Some configuration:
app.use( express.cookieParser() ); app.use(express.methodOverride()); // use express.session before passport, so that passport session will work app.use(express.session({ secret: 'somerandomcod3' })); // Initialize Passport! Also use passport.session() middleware, to support // persistent login sessions (recommended). app.use(passport.initialize()); app.use(passport.session());
passport .socketio config
io.set("authorization", passportSocketIo.authorize({ cookieParser: express.cookieParser, key: 'express.sid', secret: 'somerandomcod3', store: express.session, // not working tried also a couple others fail: function(data, accept) { accept(null, false); }, success: function(data, accept) { accept(null, true); } }));
my local strategy
var LocalStrategy = require('passport-local').Strategy ; passport.use(new LocalStrategy(function(username, password, done) { db.userModel.findOne({ username: username }, function(err, user) { if (err) { return done(err); } if (!user) { return done(null, false, { message: 'Unknown user ' + username }); } user.comparePassword(password, function(err, isMatch) { if (err) { return done(err); } if(isMatch) { return done(null, user); } else { return done(null, false, { message: 'Invalid password' }); } }); }); }));
So the question is, or better yet, how can I get session storage.?!