New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

socketio-jwt

Package Overview
Dependencies
Maintainers
2
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

socketio-jwt - npm Package Compare versions

Comparing version 4.0.1 to 4.1.0

50

lib/index.js

@@ -6,2 +6,5 @@ var xtend = require('xtend');

function noQsMethod(options) {
var defaults = { required: true };
options = xtend(defaults, options);
return function (socket) {

@@ -18,19 +21,36 @@ var server = this;

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) {
var onError = function(){
return socket.disconnect('unauthorized');
};
if (err) {
return socket.disconnect('unauthorized');
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();
}

@@ -44,2 +64,6 @@ });

function authorize(options, onConnection) {
if (!options.handshake) {
return noQsMethod(options);
}
var defaults = {

@@ -64,6 +88,2 @@ success: function(data, accept){

if (!options.handshake) {
return noQsMethod(options);
}
return function(data, accept){

@@ -70,0 +90,0 @@ var token, error;

{
"name": "socketio-jwt",
"version": "4.0.1",
"version": "4.1.0",
"description": "authenticate socket.io connections using JWTs",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc