2025-07-28 13:31:52 +08:00
2025-07-20 16:55:23 +08:00
2025-07-20 16:55:23 +08:00
2025-07-20 16:55:23 +08:00
2025-07-20 16:55:23 +08:00
2025-07-20 14:03:12 +08:00
2025-07-20 16:55:23 +08:00
2025-07-20 16:55:23 +08:00
2025-07-20 16:55:23 +08:00
2025-07-20 16:55:23 +08:00
2025-07-28 13:31:52 +08:00

验证码认证实现说明

本项目实现了基于验证码的用户认证机制,不再使用密码进行登录和注册。

主要变更

  1. 验证码请求和验证DTO

    • VerificationCodeRequest: 请求发送验证码的DTO
    • VerifyCodeRequest: 验证验证码的DTO
    • 修改了LoginRequestRegisterRequest,移除密码字段,改为使用验证码
  2. 认证控制器

    • 新增了/api/auth/send-code接口用于发送验证码
    • 修改了登录和注册接口以使用验证码认证
  3. 用户服务

    • 实现了验证码生成、存储和验证逻辑
    • 在开发模式下,验证码会在控制台输出
    • 支持使用万能验证码(默认为"123456")用于测试
  4. 配置

    • application.yml中添加了验证码相关的配置
    • 支持配置验证码过期时间、万能验证码和开发模式
  5. 安全配置

    • 更新了SecurityConfig以支持跨域请求
    • 优化了安全配置结构

使用说明

  1. 用户注册/登录流程:

    • 用户输入邮箱或手机号,请求发送验证码
    • 系统生成验证码,在开发模式下控制台会输出验证码
    • 用户输入收到的验证码进行注册或登录
  2. 万能验证码:

    • 在开发或测试环境中,可以使用配置的万能验证码(默认为"123456"
    • 无需等待验证码发送,直接使用万能验证码即可
  3. 配置说明:

    app:
      verification-code:
        expiration: 300 # 验证码有效期(秒)
        master-code: "123456" # 万能验证码
        development-mode: true # 开发模式(控制台输出验证码)
    

注意事项

  1. 实际生产环境中应使用Redis等缓存存储验证码而非内存存储
  2. 需实现真实的短信和邮件发送服务来发送验证码
  3. 生产环境应禁用万能验证码和开发模式
  4. 当前实现为开发测试版本,注重功能实现,生产环境应加强安全性
Description
No description provided
Readme 200 KiB
Languages
Java 98.5%
Shell 1.1%
Dockerfile 0.4%