# 用户管理模块 (userapp) ## 概述 用户管理模块提供了完整的用户账号管理功能,包括: - 多种方式的用户注册(用户名注册) - 多种方式的用户登录(用户名登录、邮箱登录、手机验证码登录) - 用户信息管理 - 密码重置 - 第三方账号登录(通过 allauth 支持) ## API 文档 详细的API文档请参考: - [用户认证API文档](../docs/user_authentication_api.md) - 包含所有认证相关接口 - Swagger API文档:运行服务后访问 `/swagger/` 路径 ## 认证方式 系统支持两种认证方式: 1. **Token认证**:基于自定义的Redis存储Token,用于API访问 2. **Session认证**:基于Django内置的session机制,主要用于管理后台 ## 目录结构 ``` userapp/ ├── models.py # 用户模型定义 ├── views.py # API视图 ├── serializers.py # 序列化器 ├── urls.py # URL路由配置 ├── utils.py # 工具函数 └── authentication.py # 自定义认证类 ``` ## 登录注册流程 ### 注册流程 1. 用户名注册: - 访问 `/api/user/auth/register/` - 提供用户名、密码、确认密码 - 可选提供邮箱和手机号 ### 登录流程 系统支持多种登录方式: 1. 用户名登录: - 访问 `/api/user/auth/username/login/` - 提供用户名和密码 - 获取返回的令牌Token 2. 邮箱登录: - 访问 `/api/user/auth/email/login/` - 提供邮箱和密码 - 获取返回的令牌Token 3. 手机验证码登录: - 先访问 `/api/user/auth/phone/verify/` 获取验证码 - 然后访问 `/api/user/auth/phone/login/` 提供手机号和验证码 - 获取返回的令牌Token ### 使用令牌 获取令牌后,在后续请求中添加以下请求头: ``` Authorization: Bearer {token} ```