## 问题描述 验证码在生产环境(https://cs.workyai.cn)一直提示"验证码已过期" ## 根本原因 axios默认不携带credentials(包括cookies),导致: 1. 验证码生成时的session cookie无法被浏览器保存 2. 登录时无法读取到验证码session 3. SessionID不一致导致验证失败 ## 修复方案 在mounted钩子中添加axios全局配置: ```javascript axios.defaults.withCredentials = true; ``` 这样所有axios请求都会携带cookies,包括: - 验证码生成请求 - 登录验证请求 - 所有其他API请求 ## 配合后端配置 后端已配置: - CORS: credentials: true - Session cookie: sameSite: 'lax' - Session: saveUninitialized: true ## 测试说明 1. 清除浏览器Cookie 2. 访问 https://cs.workyai.cn 3. 输错密码2次触发验证码 4. 输入验证码应该能正常通过 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
69 KiB
69 KiB