Make .disconnect() call asynchronous to allow client to receive error message.
This commit is contained in:
		| @@ -15,7 +15,6 @@ function noQsMethod(options) { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     var auth_timeout = setTimeout(function () { |     var auth_timeout = setTimeout(function () { | ||||||
|       socket.emit('error', new UnauthorizedError('request_expiration', 'Token wasn\'t received on time')); |  | ||||||
|       socket.disconnect('unauthorized'); |       socket.disconnect('unauthorized'); | ||||||
|     }, options.timeout || 5000); |     }, options.timeout || 5000); | ||||||
|  |  | ||||||
| @@ -23,8 +22,10 @@ function noQsMethod(options) { | |||||||
|       clearTimeout(auth_timeout); |       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) { |         if (err) { | ||||||
|           socket.emit('error', new UnauthorizedError('invalid_token', err)); |           socket.emit('unauthorized', err, function() { | ||||||
|           return socket.disconnect('unauthorized'); |             socket.disconnect('unauthorized'); | ||||||
|  |           }); | ||||||
|  |           return; // stop logic, socket will be close on next tick | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         socket.decoded_token = decoded; |         socket.decoded_token = decoded; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user