UNPKG

@kokkoro/web

Version:

Create web serve for kokkoro.

32 lines (31 loc) 1.14 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const jsonwebtoken_1 = __importDefault(require("jsonwebtoken")); const app_1 = require("../app"); async function authHandler(ctx, next) { const { authorization } = ctx.header; const token = authorization?.replace('Bearer ', '') ?? ''; jsonwebtoken_1.default.verify(token, 'kokkoro', (error, user) => { if (error) { let message; switch (error.name) { case 'TokenExpiredError': message = 'token 已过期'; break; case 'JsonWebTokenError': message = '无效的 token'; break; default: message = error.message; break; } throw new app_1.SourceError(401, message); } ctx.state.user = user; }); await next(); } exports.default = authHandler;