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

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