eb5c54e4a7e1bc2e38a7356378c28371b49c6e3f
- 在ApiResponse类中添加conflict方法以处理冲突响应 - 在UserController中实现用户登出功能,返回标准化的API响应 - 在ChatController中实现会话删除功能,返回相应的成功或错误信息 - 更新ErrorCode类,添加CONFLICT错误码以支持新的响应类型 - 修改OpenApiConfig中的API文档标题和描述 此提交增强了用户体验,提供了更清晰的错误处理和API文档。
验证码认证实现说明
本项目实现了基于验证码的用户认证机制,不再使用密码进行登录和注册。
主要变更
-
验证码请求和验证DTO
VerificationCodeRequest: 请求发送验证码的DTOVerifyCodeRequest: 验证验证码的DTO- 修改了
LoginRequest和RegisterRequest,移除密码字段,改为使用验证码
-
认证控制器
- 新增了
/api/auth/send-code接口用于发送验证码 - 修改了登录和注册接口以使用验证码认证
- 新增了
-
用户服务
- 实现了验证码生成、存储和验证逻辑
- 在开发模式下,验证码会在控制台输出
- 支持使用万能验证码(默认为"123456")用于测试
-
配置
- 在
application.yml中添加了验证码相关的配置 - 支持配置验证码过期时间、万能验证码和开发模式
- 在
-
安全配置
- 更新了
SecurityConfig以支持跨域请求 - 优化了安全配置结构
- 更新了
使用说明
-
用户注册/登录流程:
- 用户输入邮箱或手机号,请求发送验证码
- 系统生成验证码,在开发模式下控制台会输出验证码
- 用户输入收到的验证码进行注册或登录
-
万能验证码:
- 在开发或测试环境中,可以使用配置的万能验证码(默认为"123456")
- 无需等待验证码发送,直接使用万能验证码即可
-
配置说明:
app: verification-code: expiration: 300 # 验证码有效期(秒) master-code: "123456" # 万能验证码 development-mode: true # 开发模式(控制台输出验证码)
注意事项
- 实际生产环境中,应使用Redis等缓存存储验证码,而非内存存储
- 需实现真实的短信和邮件发送服务来发送验证码
- 生产环境应禁用万能验证码和开发模式
- 当前实现为开发测试版本,注重功能实现,生产环境应加强安全性
Description
Languages
Java
98.5%
Shell
1.1%
Dockerfile
0.4%