Avoid uncaught "SyntaxError: Unexpected token ͧ" error.

When .verify() a corrupted JWS (e.g.: malicious user add extra characters in the middle of token) an error is thrown:

``
[ERROR] console - SyntaxError: Unexpected token ͧ
    at Object.parse (native)
    at Object.jwsDecode [as decode] (/www/socketio-jwt/node_modules/jsonwebtoken/node_modules/jws/lib/verify-stream.js:71:20)
    at Object.module.exports.verify (/www/socketio-jwt/node_modules/jsonwebtoken/index.js:120:26)`
 ``
This commit is contained in:
dbrugne
2015-05-07 11:32:59 +02:00
parent 881d07f672
commit 0dc59cd6ee
+6 -1
View File
@@ -117,7 +117,12 @@ module.exports.verify = function(jwtString, secretOrPublicKey, options, callback
}
var decodedToken = jws.decode(jwtString);
var decodedToken;
try {
decodedToken = jws.decode(jwtString);
} catch(err) {
return done(new JsonWebTokenError('invalid token'));
}
if (!decodedToken) {
return done(new JsonWebTokenError('invalid token'));