Commit Graph

4 Commits

Author SHA1 Message Date
8655b39b03 test: 完善方案一业务逻辑测试和方案二规模测试
方案一(业务逻辑正确性测试):
- 修复 SocialAccount.CreatedAt/UpdatedAt NULL 扫描问题(改为 *time.Time 指针)
- 修复 OPLOG_003~006 数据隔离(改用唯一前缀+Search方法隔离)
- 修复 DEV_008 设备列表测试(改用UserID过滤器隔离)
- 修复并发测试 cache=private → cache=shared(SQLite连接共享)
- 新增 testEnv 隔离架构(独立DB + 独立 httptest.Server)

方案二(真实数据规模测试):
- 新增 LatencyStats P99/P95 百分位统计采集器
- 全部 16 个测试迁移至 newIsolatedDB(独立内存DB,WAL模式)
- 关键查询添加 P99 多次采样统计(UL/LL/DV/DS/PR/AUTH/OPLOG)
- 新增 CONC_SCALE_001~003 并发压测(50-100 goroutine)
- 删除旧 setupScaleTestDB 死代码
- 双阈值体系:SQLite本地宽松阈值 vs PostgreSQL生产严格目标

共计 84 测试通过(68 业务逻辑 + 16 规模测试)
2026-04-07 07:23:29 +08:00
3ae11237ab fix: P1/P2 优化 - OAuth验证 + API响应 + 缓存击穿 + Webhook关闭
P1 - OAuth auth_url origin 验证:
- 添加 validateOAuthUrl() 函数验证 OAuth URL origin
- 仅允许同源或可信 OAuth 提供商
- LoginPage 和 ProfileSecurityPage 调用前验证

P2 - API 响应运行时类型验证:
- 添加 isApiResponse() 运行时验证函数
- parseJsonResponse 验证响应结构完整性

P2 - 缓存击穿防护 (singleflight):
- AuthMiddleware.isJTIBlacklisted 使用 singleflight.Group
- 防止 L1 miss 时并发请求同时打 L2

P2 - Webhook 服务优雅关闭:
- WebhookService 添加 Shutdown() 方法
- 服务器关闭时等待 worker 完成
- main.go 集成 shutdown 调用
2026-04-03 21:50:51 +08:00
765a50b7d4 fix: 生产安全修复 + Go SDK + CAS SSO框架
安全修复:
- CRITICAL: SSO重定向URL注入漏洞 - 修复redirect_uri白名单验证
- HIGH: SSO ClientSecret未验证 - 使用crypto/subtle.ConstantTimeCompare验证
- HIGH: 邮件验证码熵值过低(3字节) - 提升到6字节(48位熵)
- HIGH: 短信验证码熵值过低(4字节) - 提升到6字节
- HIGH: Goroutine使用已取消上下文 - auth_email.go使用独立context+超时
- HIGH: SQL LIKE查询注入风险 - permission/role仓库使用escapeLikePattern

新功能:
- Go SDK: sdk/go/user-management/ 完整SDK实现
- CAS SSO框架: internal/auth/cas.go CAS协议支持

其他:
- L1Cache实例问题修复 - AuthMiddleware共享l1Cache
- 设备指纹XSS防护 - 内存存储替代localStorage
- 响应格式协议中间件
- 导出无界查询修复
2026-04-03 17:38:31 +08:00
dcc1f186f8 feat: backend core - auth, user, role, permission, device, webhook, monitoring, cache, repository, service, middleware, API handlers 2026-04-02 11:19:50 +08:00