@berlingske-media/bm.node-module.gateway_jwt
Version:
AuthGateway JWT verification library based on public JWKS endpoint
24 lines • 901 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getKeysInterceptor = void 0;
const tslib_1 = require("tslib");
const utils_1 = require("../utils");
function getKeysInterceptor(client, { getKeysInterceptor }) {
const getSigningKey = client.getSigningKey.bind(client);
return (kid) => tslib_1.__awaiter(this, void 0, void 0, function* () {
const keys = yield getKeysInterceptor();
let signingKeys;
if (keys && keys.length) {
signingKeys = yield (0, utils_1.retrieveSigningKeys)(keys);
}
if (signingKeys && signingKeys.length) {
const key = signingKeys.find(k => !kid || k.kid === kid);
if (key) {
return key;
}
}
return getSigningKey(kid);
});
}
exports.getKeysInterceptor = getKeysInterceptor;
//# sourceMappingURL=interceptor.js.map