feat: 完善鉴权

This commit is contained in:
2026-05-22 23:10:40 +08:00
parent 3857f77f8b
commit c48d57df14
14 changed files with 118 additions and 117 deletions
+1 -18
View File
@@ -1,10 +1,4 @@
// server/api/stats.get.ts - 服务运行统计接口
import { setResponseStatus } from "h3";
import {
invalidAccessTokenResponse,
verifyAccessToken
} from "~~/server/utils/accessToken";
import { createApiLogger } from "~~/server/utils/logging";
import { getRuntimeStats } from "~~/server/utils/runtimeState";
@@ -12,21 +6,10 @@ import { getRuntimeStats } from "~~/server/utils/runtimeState";
* 运行统计接口
*
* 统计信息包含 uptime、模型名、缓存数量、最近问答记录数量
* 因为它能反映服务使用情况,所以和旧 Python 服务一样走可选 ACCESS_TOKEN 校验
* 必须携带有效 session cookie(由 api-auth middleware 统一鉴权)
*/
export default defineEventHandler((event) => {
const logger = createApiLogger(event, "api.stats");
// 未配置 ACCESS_TOKEN 时 verifyAccessToken 会放行;配置后必须携带正确 token
if (!verifyAccessToken(event)) {
setResponseStatus(event, 403);
logger.warn("invalid_access_token");
return {
success: false,
message: invalidAccessTokenResponse().msg
};
}
// getRuntimeStats 会实时清理过期缓存,再返回有效缓存数量
logger.info("finish_success");
return getRuntimeStats();