Merge branch 'master' of https://github.com/ddamerell53/socketio-jwt into ddamerell53-master

This commit is contained in:
José F. Romaniello 2015-05-29 08:46:17 -03:00
commit f7ecb4ea6f

View File

@ -14,23 +14,40 @@ function noQsMethod(options) {
} }
} }
var auth_timeout = setTimeout(function () { if(options.required){
socket.disconnect('unauthorized'); var auth_timeout = setTimeout(function () {
}, options.timeout || 5000); socket.disconnect('unauthorized');
}, options.timeout || 5000);
}
socket.on('authenticate', function (data) { socket.on('authenticate', function (data) {
clearTimeout(auth_timeout); if(options.required){
clearTimeout(auth_timeout);
}
jwt.verify(data.token, options.secret, options, function(err, decoded) { jwt.verify(data.token, options.secret, options, function(err, decoded) {
if (err) { var onError = function(){
return socket.disconnect('unauthorized'); return socket.disconnect('unauthorized');
};
if (err) {
onError();
} }
socket.decoded_token = decoded; var onSuccess = function(){
socket.emit('authenticated'); socket.decoded_token = decoded;
if (server.$emit) { socket.emit('authenticated');
server.$emit('authenticated', socket); if (server.$emit) {
} else { server.$emit('authenticated', socket);
server.server.sockets.emit('authenticated', socket); } else {
server.server.sockets.emit('authenticated', socket);
}
};
if(options.additional_auth){
options.additional_auth(decoded, onSuccess, onError);
}else{
onSuccess();
} }
}); });
}); });