喻勇祥
7ce9d95d44
🐛 修复验证码Session问题 - 验证码过期Bug修复
## 问题描述
用户输入验证码后一直提示"验证码已过期"
## 根本原因
Session配置问题导致验证码无法正确保存和读取:
1. saveUninitialized: false 导致验证码请求时session不会被创建
2. 缺少 sameSite 属性导致某些情况下cookie无法正确传递
## 修复方案
### Session配置优化
- saveUninitialized: false → true (确保验证码请求时创建session)
- 添加 name: 'captcha.sid' (自定义session cookie名称)
- 添加 sameSite: 'lax' (防止CSRF同时确保同站请求携带cookie)
### 验证码生成API增强
- 添加 req.session.save() 确保session立即保存
- 添加调试日志输出SessionID和验证码内容
### 登录API调试
- 添加详细的验证码验证日志
- 输出SessionID、失败次数、验证码匹配情况
- 帮助快速定位问题
## 测试建议
1. 清除浏览器Cookie
2. 输错密码2次触发验证码
3. 查看后端日志确认SessionID一致
4. 输入正确验证码应该能通过验证
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 16:39:38 +00:00
..
2025-11-13 21:36:49 +08:00
2025-11-11 13:17:57 +08:00
2025-11-10 21:50:16 +08:00
2025-11-14 19:47:36 +08:00
2025-11-18 17:58:31 +08:00
2025-11-10 21:50:16 +08:00
2025-11-14 16:25:31 +08:00
2025-11-21 16:32:32 +00:00
2025-11-21 16:32:32 +00:00
2025-11-21 16:39:38 +00:00
2025-11-10 21:50:16 +08:00
2025-11-15 23:46:20 +08:00
2025-11-14 19:47:36 +08:00