1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-04 18:29:17 +02:00
OpenSTF/lib/util/jwtutil.js
2014-01-23 22:51:46 +09:00

33 lines
646 B
JavaScript

var assert = require('assert')
var jws = require('jws')
module.exports.encode = function(options) {
assert.ok(options.payload, 'payload required')
assert.ok(options.secret, 'secret required')
return jws.sign({
header: {
alg: 'HS256'
, exp: Date.now() + 24 * 3600
}
, payload: options.payload
, secret: options.secret
})
}
module.exports.decode = function(payload, secret) {
if (!jws.verify(payload, secret)) {
return null
}
var decoded = jws.decode(payload, {
json: true
})
, exp = decoded.header.exp
if (exp && exp <= Date.now()) {
return null
}
return decoded.payload
}