Files
chuanqi-qycq-web/module/server/koa/auth.js
Kubbo eb05688ccc feat(server): 添加服务器列表接口和用户进入游戏功能
- 在登录模块中添加服务器列表获取接口 /api/server/list
- 实现用户进入游戏功能,记录登录时间和IP地址
- 添加时间工具函数用于格式化时间戳
- 配置Koa代理支持
- 更新白名单路由配置
- 添加MD5加密、Cookie操作和通用工具函数库
2025-12-25 00:46:56 +08:00

28 lines
651 B
JavaScript

import jwt from "jsonwebtoken";
import * as log4js from "../log4js.js";
const whiteList = [
'/',
'/api/login',
"/api/server/list"
]
async function auth(ctx, next) {
try {
log4js.koa.debug("接口请求:", ctx.path)
if (whiteList.includes(ctx.path)) {
await next();
return; // 终止后续验证逻辑
}
const token = ctx.request.headers.authorization?.split(' ')[1];
if (!token) throw new Error('无token');
ctx.user = jwt.verify(token, process.env.SECRET_KEY);
await next();
} catch (err) {
ctx.status = 401;
ctx.body = {msg: 'token无效或过期', code: 401};
}
}
export default auth;