@silvermine/apigateway-utils
Version:
Utility functions for working with AWS API Gateway
39 lines (29 loc) • 982 B
JavaScript
;
var _ = require('underscore'),
Request = require('./Request'),
JWTValidator = require('./JWTValidator');
module.exports = Request.extend({
init: function(evt, context, opts) {
this._super(evt, context, opts);
this._token = false;
},
getToken: function() {
return this._token;
},
validateAuthorizationHeader: function(publicKey, validationUserOpts) {
var validationOpts = _.isObject(validationUserOpts) ? validationUserOpts : {},
validator = new JWTValidator(publicKey),
validation;
validation = validator
.issuer(validationOpts.issuer)
.audience(validationOpts.audience)
.revocation(validationOpts.revokedTokenIDs)
.validate(this.header('Authorization'), true, 'Authorization');
if (_.isEmpty(validation.errors)) {
this._token = validation.token;
} else {
this._token = false;
}
return validation;
},
});