@bitblit/ratchet-epsilon-common
Version:
Tiny adapter to simplify building API gateway Lambda APIS
27 lines • 1.07 kB
JavaScript
import { RequireRatchet } from '@bitblit/ratchet-common/lang/require-ratchet';
import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
export class JwtRatchetLocalWebTokenManipulator {
_jwtRatchet;
_issuer;
constructor(_jwtRatchet, _issuer) {
this._jwtRatchet = _jwtRatchet;
this._issuer = _issuer;
RequireRatchet.notNullOrUndefined(_jwtRatchet, '_jwtRatchet');
RequireRatchet.notNullOrUndefined(StringRatchet.trimToNull(_issuer), '_issuer');
}
get jwtRatchet() {
return this._jwtRatchet;
}
get issuer() {
return this._issuer;
}
async extractTokenFromAuthorizationHeader(header) {
let tokenString = StringRatchet.trimToEmpty(header);
if (tokenString.toLowerCase().startsWith('bearer ')) {
tokenString = tokenString.substring(7);
}
const validated = tokenString ? await this.jwtRatchet.decodeToken(tokenString, 1) : null;
return validated;
}
}
//# sourceMappingURL=jwt-ratchet-local-web-token-manipulator.js.map