H0-05 补充:结构化错误码体系
JWT 隔离已在之前完成,本次新增了 iOS 端可编程使用的语义错误码。
新增文件
- **
src/common/errors/capi-error-codes.ts…
H0-01 补充修复
之前的修复在 onModuleInit 只打日志不抛异常,verifyIdentityToken() 在生产环境 APPLE_BUNDLE_ID 为空时仍会走 mock。
本次修复
**`apple-…
已实现 ✅ — 无需修改
该需求在 jwt.config.ts 和 JwtAuthGuard 中已经完整实现:
启动时检查 — src/config/jwt.config.ts:23-27:
if (process.en…
已实现 ✅ — 无需修改
该需求在 auth.service.ts 的 refresh() 方法中已经完整实现:
文件: src/modules/auth/auth.service.ts:104-130
async…
已实现 ✅ — 无需修改
该需求在 JwtAuthGuard 中已经完整实现:
文件: src/common/guards/jwt-auth.guard.ts:47-60
const user = await this.prisma.user.f…
修复完成 ✅
变更文件
后端 apple-auth.service.ts:
- 新增
OnModuleInit启动检查:生产环境缺APPLE_BUNDLE_ID直接throw Error拒绝启动(而不是…
✅ H0-06 修复完成
问题
iOS 核心流程的三个 Controller(document-import、knowledge-source、learning-session)使用 @Body() body: any,无类型校验。iOS 客户端可…
✅ H0-05 修复完成
问题
用户 JWT 和管理员 JWT 共用同一密钥(JWT_SECRET),ADMIN_JWT_ACCESS_SECRET 未在生产环境配置。用户 token 无 type 字段,无…
✅ H0-04 修复完成
问题
Refresh Token 刷新时仅验证 token 有效性,不检查用户是否被禁用或已删除。禁用的用户可无限刷新获取新 access token。
###…
✅ H0-03 修复完成
问题
JwtAuthGuard 仅验证 JWT 签名,不检查用户是否被禁用或已删除。禁用/删除用户的 Token 仍可访问所有 CAPI 端点。
###…
✅ H0-02 修复完成
问题
/internal/* 7 个端点零认证暴露公网,可读取文档原文、写入 chunks/candidates、劫持导入作业。
修改
✅ H0-01 修复完成
问题
生产环境 APPLE_BUNDLE_ID 缺失时,Apple 登录退回到 mock 模式,任意长度 ≥4 的字符串即可登录,严重安全漏洞。
###…