a6a0e58340
test: add more UserHandler tests for RBAC coverage
...
Add tests for UserHandler permission checks:
- TestUserHandler_UpdateUserStatus_RequiresAdmin
- TestUserHandler_GetUserRoles_Success
- TestUserHandler_AssignRoles_RequiresAdmin
- TestUserHandler_BatchUpdateStatus_RequiresAdmin
- TestUserHandler_BatchDelete_RequiresAdmin
- TestUserHandler_BatchDelete_EmptyIDs_RequiresAdmin
These tests verify that admin-only endpoints properly return 403
for non-admin users (RBAC security validation).
2026-04-09 14:00:42 +08:00
3ffce94caf
test: add WebhookHandler tests
...
Add comprehensive tests for WebhookHandler:
- TestWebhookHandler_CreateWebhook_Success
- TestWebhookHandler_CreateWebhook_InvalidURL
- TestWebhookHandler_CreateWebhook_MissingName
- TestWebhookHandler_ListWebhooks_Success
- TestWebhookHandler_UpdateWebhook_Success
- TestWebhookHandler_UpdateWebhook_InvalidID
- TestWebhookHandler_DeleteWebhook_Success
- TestWebhookHandler_DeleteWebhook_NotFound
- TestWebhookHandler_GetWebhookDeliveries_Success
- TestWebhookHandler_GetWebhookDeliveries_InvalidID
- TestWebhookHandler_ListWebhooks_Pagination
2026-04-09 11:48:48 +08:00
5929d774f0
test: add TraceID, ErrorHandler, Recover middleware tests
...
- TestTraceID_GeneratesAndAttachesTraceID
- TestTraceID_ExtractsExistingTraceID
- TestErrorHandler_HandlesErrors
- TestRecover_HandlesPanic
Fix test to use errors.New instead of gin.Error{Err: nil}
2026-04-09 10:18:31 +08:00
1d42ede7e0
test: add coverage for Logout, GetUserInfo, GetCSRFToken, RefreshToken
...
Added tests for critical auth handler functions:
- TestAuthHandler_Logout_Success
- TestAuthHandler_Logout_WithoutToken
- TestAuthHandler_GetUserInfo_Success
- TestAuthHandler_GetUserInfo_WithoutToken
- TestAuthHandler_GetCSRFToken_Success
- TestAuthHandler_RefreshToken_Success
- TestAuthHandler_RefreshToken_InvalidToken
- TestAuthHandler_RefreshToken_MissingToken
auth_handler.go coverage: 10% → 12.1%
2026-04-09 07:53:06 +08:00
a85d822419
fix: 统一API响应格式并修复前端测试
...
- 所有Handler方法使用标准{code:0,message:"success",data:...}响应格式
- 修复Cursor分页响应包装(GetAllDevices,GetLoginLogs,ListUsers等)
- 修复AuthHandler和SMSHandler认证方法响应格式
- 修复operation_log.go admin用户operation_type前缀问题
- 修复DashboardPage嵌套stats结构
- 修复LoginLogsPage reset功能stale closure问题
- 修复UsersPage批量操作API调用
- 修复多个前端测试(mock格式、按钮选择、断言逻辑)
- 添加OAuth测试域名白名单
- 新增代码审查流程文档
2026-04-08 20:06:54 +08:00
5ca3633be4
feat: 系统全面优化 - 设备管理/登录日志导出/性能监控/设置页面
...
后端:
- 新增全局设备管理 API(DeviceHandler.GetAllDevices)
- 新增登录日志导出功能(LogHandler.ExportLoginLogs, CSV/XLSX)
- 新增设置服务(SettingsService)和设置页面 API
- 设备管理支持多条件筛选(状态/信任状态/关键词)
- 登录日志支持流式导出防 OOM
- 操作日志支持按方法/时间范围搜索
- 主题配置服务(ThemeService)
- 增强监控健康检查(Prometheus metrics + SLO)
- 移除旧 ratelimit.go(已迁移至 robustness)
- 修复 SocialAccount NULL 扫描问题
- 新增 API 契约测试、Handler 测试、Settings 测试
前端:
- 新增管理员设备管理页面(DevicesPage)
- 新增管理员登录日志导出功能
- 新增系统设置页面(SettingsPage)
- 设备管理支持筛选和分页
- 增强 HTTP 响应类型
测试:
- 业务逻辑测试 68 个(含并发 CONC_001~003)
- 规模测试 16 个(P99 百分位统计)
- E2E 测试、集成测试、契约测试
- 性能基准测试、鲁棒性测试
全面测试通过(38 个测试包)
2026-04-07 12:08:16 +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