A Socket.IO middleware for authenticating with a JSON Web Token based on passport-jwt.
This module lets you authenticate socket.io endpoints using a JSON web token. It is intended to be used to secure endpoints without sessions.
// Initialize our modules
const io = require('socket.io')(server)
const passportJwtSocketIo = require('passport-jwt.socketio')
// set the passport-jwt options
const options = {
jwtFromRequest: ExtractJwt.fromUrlQueryParameter('token'),
secretOrKey: secret
}
// define the verify callback
function verify(jwtPayload, done) {
// token is valid
// we still can verify the token
// the user passed is set to socket.request.user
done(null, user)
}
// set the authorization middleware
io.use(passportJwtSocketIo.authorize(options, verify))
npm install
npm test
You are always welcome to open an issue or provide a pull-request!
The MIT License