Your Name
|
7254971918
|
feat(supply-api): 完成IAM和Audit数据库-backed Repository实现
- 新增 iam_schema_v1.sql DDL脚本 (iam_roles, iam_scopes, iam_role_scopes, iam_user_roles, iam_role_hierarchy)
- 新增 PostgresIAMRepository 实现数据库-backed IAM仓储
- 新增 DatabaseIAMService 使用数据库-backed Repository
- 新增 PostgresAuditRepository 实现数据库-backed Audit仓储
- 新增 DatabaseAuditService 使用数据库-backed Repository
- 更新实施状态文档 v1.3
R-07~R-09 完成。
|
2026-04-03 11:57:15 +08:00 |
|
Your Name
|
6fa703e02d
|
feat(audit): 实现Audit HTTP Handler并提升IAM Middleware覆盖率
1. 新增Audit HTTP Handler (AUD-05, AUD-06完成)
- POST /api/v1/audit/events - 创建审计事件(支持幂等)
- GET /api/v1/audit/events - 查询事件列表(支持分页和过滤)
2. 提升IAM Middleware测试覆盖率
- 从63.8%提升至83.5%
- 新增SetRouteScopePolicy测试
- 新增RequireRole/RequireMinLevel中间件测试
- 新增hasAnyScope测试
TDD完成:33/33任务 (100%)
|
2026-04-03 11:19:42 +08:00 |
|
Your Name
|
b2d32be14f
|
fix(P2): 修复4个P2轻微问题
P2-01: 通配符scope安全风险 (scope_auth.go)
- 添加hasWildcardScope()函数检测通配符scope
- 添加logWildcardScopeAccess()函数记录审计日志
- 在RequireScope/RequireAllScopes/RequireAnyScope中间件中调用审计日志
P2-02: isSamePayload比较字段不完整 (audit_service.go)
- 添加ActionDetail字段比较
- 添加ResultMessage字段比较
- 添加Extensions字段比较
- 添加compareExtensions()辅助函数
P2-03: regexp.MustCompile可能panic (sanitizer.go)
- 添加compileRegex()安全编译函数替代MustCompile
- 处理编译错误,避免panic
P2-04: StrategyRoundRobin未实现 (router.go)
- 添加selectByRoundRobin()方法
- 添加roundRobinCounter原子计数器
- 使用atomic.AddUint64实现线程安全的轮询
P2-05: 错误信息泄露内部细节 - 已在MED-09中处理,跳过
|
2026-04-03 09:39:32 +08:00 |
|
Your Name
|
f9fc984e5c
|
test(iam): 使用TDD方法补充IAM模块测试覆盖
- 创建完整的IAM Service测试文件 (iam_service_real_test.go)
- 测试真实 DefaultIAMService 而非 mock
- 覆盖 CreateRole, GetRole, UpdateRole, DeleteRole, ListRoles
- 覆盖 AssignRole, RevokeRole, GetUserRoles
- 覆盖 CheckScope, GetUserScopes, IsExpired
- 创建完整的IAM Handler测试文件 (iam_handler_real_test.go)
- 测试真实 IAMHandler 使用 httptest
- 覆盖路由处理器方法 (handleRoles, handleRoleByCode等)
- 覆盖 CreateRole, GetRole, ListRoles, UpdateRole, DeleteRole
- 覆盖 AssignRole, RevokeRole, GetUserRoles, CheckScope, ListScopes
- 覆盖辅助函数和中间件
- 修复原有代码bug
- extractUserID: 修正索引从parts[3]到parts[4]
- extractRoleCodeFromUserPath: 修正索引从parts[5]到parts[6]
- 修复多余的空格导致的语法问题
测试覆盖率:
- IAM Handler: 0% -> 85.9%
- IAM Service: 0% -> 99.0%
|
2026-04-03 07:59:12 +08:00 |
|
Your Name
|
6924b2bafc
|
fix: 修复6个代码质量问题
P1-01: 提取重复的角色层级定义为包级常量
- 将 roleHierarchy 提取为 roleHierarchyLevels 包级变量
- 消除重复定义
P1-02: 修复伪随机数用于加权选择
- 使用 math/rand 的线程安全随机数生成器替代时间戳
- 确保加权路由的均匀分布
P1-03: 修复 FailureRate 初始化计算错误
- 将成功时的恢复因子从 0.9 改为 0.5
- 加速失败后的恢复过程
P1-04: 为 DefaultIAMService 添加并发控制
- 添加 sync.RWMutex 保护 map 操作
- 确保所有服务方法的线程安全
P1-05: 修复 IP 伪造漏洞
- 添加 TrustedProxies 配置
- 只在来自可信代理时才使用 X-Forwarded-For
P1-06: 修复限流 key 提取逻辑错误
- 从 Authorization header 中提取 Bearer token
- 避免使用完整的 header 作为限流 key
|
2026-04-03 07:58:46 +08:00 |
|
Your Name
|
88bf2478aa
|
fix(supply-api): 适配P0-01修复,更新测试使用WithIAMClaims函数
P0-01修复将WithIAMClaims改为存储指针,GetIAMTokenClaims/getIAMTokenClaims
改为获取指针类型。本提交更新role_inheritance_test.go中的测试以使用
WithIAMClaims函数替代直接的context.WithValue调用,确保测试正确验证
指针存储行为。
修复内容:
- GetIAMTokenClaims: 改为返回ctx.Value(IAMTokenClaimsKey).(*IAMTokenClaims)
- getIAMTokenClaims: 同上
- WithIAMClaims: 改为存储claims而非*claims
- writeAuthError: 添加json.NewEncoder(w).Encode(resp)写入响应体
|
2026-04-03 07:54:37 +08:00 |
|
Your Name
|
50225f6822
|
fix: 修复4个安全漏洞 (HIGH-01, HIGH-02, MED-01, MED-02)
- HIGH-01: CheckScope空scope绕过权限检查
* 修复: 空scope现在返回false拒绝访问
- HIGH-02: JWT算法验证不严格
* 修复: 使用token.Method.Alg()严格验证只接受HS256
- MED-01: RequireAnyScope空scope列表逻辑错误
* 修复: 空列表现在返回403拒绝访问
- MED-02: Token状态缓存未命中时默认返回active
* 修复: 添加TokenStatusBackend接口,缓存未命中时必须查询后端
影响文件:
- supply-api/internal/iam/middleware/scope_auth.go
- supply-api/internal/middleware/auth.go
- supply-api/cmd/supply-api/main.go (适配新API)
测试覆盖:
- 添加4个新的安全测试用例
- 更新1个原有测试以反映正确的安全行为
|
2026-04-03 07:52:41 +08:00 |
|
Your Name
|
89104bd0db
|
feat(P1/P2): 完成TDD开发及P1/P2设计文档
## 设计文档
- multi_role_permission_design: 多角色权限设计 (CONDITIONAL GO)
- audit_log_enhancement_design: 审计日志增强 (CONDITIONAL GO)
- routing_strategy_template_design: 路由策略模板 (CONDITIONAL GO)
- sso_saml_technical_research: SSO/SAML调研 (CONDITIONAL GO)
- compliance_capability_package_design: 合规能力包设计 (CONDITIONAL GO)
## TDD开发成果
- IAM模块: supply-api/internal/iam/ (111个测试)
- 审计日志模块: supply-api/internal/audit/ (40+测试)
- 路由策略模块: gateway/internal/router/ (33+测试)
- 合规能力包: gateway/internal/compliance/ + scripts/ci/compliance/
## 规范文档
- parallel_agent_output_quality_standards: 并行Agent产出质量规范
- project_experience_summary: 项目经验总结 (v2)
- 2026-04-02-p1-p2-tdd-execution-plan: TDD执行计划
## 评审报告
- 5个CONDITIONAL GO设计文档评审报告
- fix_verification_report: 修复验证报告
- full_verification_report: 全面质量验证报告
- tdd_module_quality_verification: TDD模块质量验证
- tdd_execution_summary: TDD执行总结
依据: Superpowers执行框架 + TDD规范
|
2026-04-02 23:35:53 +08:00 |
|