gnepud
gnepud

Reputation: 23

How to use passport.socketio in sails with passport

I received the following errors when I use socketio after user login. I found passport-socketio that perhaps solve this problem, but I do not know how integrates it to sails.js. Do you know any code example? Thinks

error: TypeError: Object #<Object> has no method 'isAuthenticated'
at module.exports (/Users/peng/www/321bougez/api/policies/isAuthenticated.js:13:11)
at _bind.enhancedFn (/Users/peng/www/321bougez/node_modules/sails/lib/router/bind.js:375:4)
at callbacks (/Users/peng/www/321bougez/node_modules/sails/node_modules/express/lib/router/index.js:164:37)
at param (/Users/peng/www/321bougez/node_modules/sails/node_modules/express/lib/router/index.js:138:11)
at param (/Users/peng/www/321bougez/node_modules/sails/node_modules/express/lib/router/index.js:135:11)
at pass (/Users/peng/www/321bougez/node_modules/sails/node_modules/express/lib/router/index.js:145:5)
at nextRoute (/Users/peng/www/321bougez/node_modules/sails/node_modules/express/lib/router/index.js:100:7)
at callbacks (/Users/peng/www/321bougez/node_modules/sails/node_modules/express/lib/router/index.js:167:11)
at wrapperFn (/Users/peng/www/321bougez/node_modules/sails/lib/hooks/controllers/index.js:293:4)
at _bind.enhancedFn (/Users/peng/www/321bougez/node_modules/sails/lib/router/bind.js:375:4)

Upvotes: 0

Views: 2003

Answers (2)

HaNdTriX
HaNdTriX

Reputation: 29746

This is because you implemented passport using expressMiddleware. You need to use sails policies in order to get passport to work with sockets.

Check out this https://github.com/kasperisager/sails-generate-auth/ repository.

Upvotes: 0

Chris McClellan
Chris McClellan

Reputation: 1105

There are a couple methods outlined here: Sails.js + Passport.js authentication through websockets

This one worked for me... https://stackoverflow.com/a/18343226/1644659

Upvotes: 2

Related Questions