1. 09 Jan, 2026 2 commits
    • yangjianbo's avatar
      fix(auth): 修复邮件验证服务未配置时可绕过验证的安全漏洞 · 470abee0
      yangjianbo authored
      
      
      当邮件验证开启但 emailService 未配置时,原逻辑允许用户绕过验证直接注册。
      现在会返回 ErrServiceUnavailable 拒绝注册,确保配置错误不会导致安全问题。
      
      - 在验证码检查前先检查 emailService 是否配置
      - 添加日志记录帮助发现配置问题
      - 新增单元测试覆盖该场景
      Co-Authored-By: default avatarClaude Opus 4.5 <noreply@anthropic.com>
      470abee0
    • yangjianbo's avatar
      fix(auth): 修复 RefreshToken 使用过期 token 时的 nil pointer panic · 39433f2a
      yangjianbo authored
      
      
      问题分析:
      - RefreshToken 允许过期 token 继续流程(用于无感刷新)
      - 但 ValidateToken 在 token 过期时返回 nil claims
      - 导致后续访问 claims.UserID 时触发 panic
      
      修复方案:
      - 修改 ValidateToken,在检测到 ErrTokenExpired 时仍然返回 claims
      - jwt-go 在解析时即使遇到过期错误,token.Claims 仍会被填充
      - 这样 RefreshToken 可以正常获取用户信息并生成新 token
      
      新增测试:
      - TestAuthService_ValidateToken_ExpiredReturnsClaimsWithError
      - TestAuthService_RefreshToken_ExpiredTokenNoPanic
      Co-Authored-By: default avatarClaude Opus 4.5 <noreply@anthropic.com>
      39433f2a
  2. 29 Dec, 2025 1 commit