jsonwebtoken
Advanced tools
Comparing version 3.0.0 to 3.1.0
30
index.js
var jws = require('jws'); | ||
module.exports.decode = function (jwt) { | ||
var decoded = jws.decode(jwt, {json: true}); | ||
var decoded = jws.decode(jwt); | ||
return decoded && decoded.payload; | ||
@@ -12,3 +12,7 @@ }; | ||
var header = ((typeof options.headers === 'object') && options.headers) || {}; | ||
header.typ = 'JWT'; | ||
if (typeof payload === 'object') { | ||
header.typ = 'JWT'; | ||
} | ||
header.alg = options.algorithm || 'HS256'; | ||
@@ -53,11 +57,13 @@ | ||
var done; | ||
if (callback) { | ||
var done = function() { | ||
var args = Array.prototype.slice.call(arguments, 0) | ||
done = function() { | ||
var args = Array.prototype.slice.call(arguments, 0); | ||
return process.nextTick(function() { | ||
callback.apply(null, args) | ||
callback.apply(null, args); | ||
}); | ||
}; | ||
} else { | ||
var done = function(err, data) { | ||
done = function(err, data) { | ||
if (err) throw err; | ||
@@ -68,4 +74,5 @@ return data; | ||
if (!jwtString) | ||
if (!jwtString){ | ||
return done(new JsonWebTokenError('jwt must be provided')); | ||
} | ||
@@ -76,10 +83,11 @@ var parts = jwtString.split('.'); | ||
if (parts[2].trim() === '' && secretOrPublicKey) | ||
if (parts[2].trim() === '' && secretOrPublicKey){ | ||
return done(new JsonWebTokenError('jwt signature is required')); | ||
} | ||
var valid; | ||
try { | ||
valid = jws.verify(jwtString, secretOrPublicKey); | ||
} | ||
catch (e) { | ||
} catch (e) { | ||
return done(e); | ||
@@ -107,3 +115,3 @@ } | ||
var target = Array.isArray(payload.aud) ? payload.aud : [payload.aud]; | ||
var match = target.some(function(aud) { return audiences.indexOf(aud) != -1; }); | ||
@@ -110,0 +118,0 @@ |
{ | ||
"name": "jsonwebtoken", | ||
"version": "3.0.0", | ||
"version": "3.1.0", | ||
"description": "JSON Web Token implementation (symmetric and asymmetric)", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -20,3 +20,3 @@ var jwt = require('../index'); | ||
var callback = function(err, decoded) { | ||
assert.ok(decoded.foo); | ||
assert.ok(decoded.foo); | ||
assert.equal('bar', decoded.foo); | ||
@@ -63,12 +63,3 @@ done(); | ||
it('should throw when the payload is not json', function(done) { | ||
var token = jwt.sign('bar', 'secret', { algorithm: 'HS256' }); | ||
jwt.verify(token, 'secret', function(err, decoded) { | ||
assert.isUndefined(decoded); | ||
assert.isNotNull(err); | ||
done(); | ||
}); | ||
}); | ||
}); | ||
}); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
26740
13
411