UNPKG

code-workshop-kit

Version:
34 lines 1.35 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.jwtMiddleware = void 0; const esm_1 = __importDefault(require("esm")); const jsonwebtoken_1 = __importDefault(require("jsonwebtoken")); const jwtMiddleware = (dir) => { const esmRequire = esm_1.default(module); const workshop = esmRequire(`${dir}/cwk.config.js`).default; return async (ctx, next) => { await next(); if (ctx.url === '/api/login' && ctx.method === 'POST') { const providedPassword = ctx.headers['cwk-admin-password']; if (providedPassword && providedPassword === workshop.adminPassword) { // Mock user const username = ctx.headers['cwk-user']; if (workshop.appKey) { const token = jsonwebtoken_1.default.sign({ username }, workshop.appKey, { expiresIn: '12h' }); ctx.status = 200; ctx.body = { token, }; } } else { ctx.status = 401; } } }; }; exports.jwtMiddleware = jwtMiddleware; //# sourceMappingURL=jwt-middleware.js.map