jsev
Version:
Environment for building Web API's.
34 lines • 1.01 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const jwks_rsa_1 = require("jwks-rsa");
const koa_jwt_1 = __importDefault(require("koa-jwt"));
exports.default = (env) => {
if (!env.cfg.jwt) {
return null;
}
let cfg = env.cfg.jwt;
if (cfg.secret) {
if (typeof cfg.secret === "string") {
const secret = Buffer.from(cfg.secret, "base64");
cfg = {
...cfg,
secret,
};
}
else if (cfg.secret instanceof Array) {
cfg.secret = Buffer.from(cfg.secret);
}
}
if (cfg.jwks) {
cfg.secret = jwks_rsa_1.koaJwtSecret(cfg.jwks);
}
const middleware = koa_jwt_1.default(cfg);
return {
func: (ctx, next) => middleware(ctx, next),
rank: 5,
};
};
//# sourceMappingURL=jwt.js.map