feat: 完善生产级 Rust Web 模板
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
|
||||
### 架构特色
|
||||
- **DDD 分层架构**:领域层、基础设施层、应用层清晰分离
|
||||
- **生产就绪**:JWT 双 Token 认证、Argon2 密码哈希、结构化日志
|
||||
- **生产就绪**:JWT 双 Token 认证、Argon2 密码哈希、可选 Redis/SMTP、结构化日志与请求保护
|
||||
- **多数据库支持**:MySQL / PostgreSQL / SQLite 无缝切换
|
||||
|
||||
### 技术栈
|
||||
@@ -14,7 +14,13 @@
|
||||
- **数据库 ORM**:SeaORM 1.1(支持多数据库)
|
||||
- **认证**:JWT (Access Token 15min + Refresh Token 7天)
|
||||
- **缓存**:Redis 存储 Refresh Token
|
||||
- **安全**:Argon2 密码哈希、CORS 支持
|
||||
- **安全**:Token 类型隔离、软删除校验、配置化 CORS、超时、正文/并发/频率限制、panic 捕获和安全响应头
|
||||
|
||||
### 可选能力
|
||||
|
||||
- Redis 默认关闭;服务无需 Redis 即可启动。Token 轮换、验证码等依赖 Redis 的接口会在不可用时返回 `503`。
|
||||
- 邮件默认关闭;启用后提供验证码、密码重置和邮件发送记录接口,可选择同步 SMTP 或 Redis 队列 Worker。
|
||||
- `Accept-Language` 支持 `zh-CN` 与 `en`,认证错误会按请求语言返回。
|
||||
|
||||
## 快速开始
|
||||
|
||||
@@ -139,11 +145,17 @@ cargo run -- -e production -c config/production.toml
|
||||
- `POST /auth/register` - 用户注册
|
||||
- `POST /auth/login` - 用户登录
|
||||
- `POST /auth/refresh` - 刷新 Token
|
||||
- `POST /auth/request-verification-code` - 发送验证码(邮件启用时)
|
||||
- `POST /auth/reset-password` - 重置密码(邮件启用时)
|
||||
|
||||
### 需要认证的接口
|
||||
|
||||
- `POST /auth/delete` - 删除账号
|
||||
- `POST /auth/delete-refresh-token` - 删除 Refresh Token
|
||||
- `POST /auth/logout` - 注销 Refresh Token
|
||||
- `GET|PUT|DELETE /api/user/profile` - 当前用户资料
|
||||
- `GET /api/email/latest-log` - 最近邮件记录(邮件启用时)
|
||||
- `GET /api/email/queue-status` - 邮件能力状态(邮件启用时)
|
||||
|
||||
> 查看 [完整 API 文档](docs/api/api-overview.md)
|
||||
|
||||
@@ -166,6 +178,7 @@ src/
|
||||
├── repositories/ # 数据访问层
|
||||
└── infra/ # 基础设施层
|
||||
├── middleware/ # 中间件
|
||||
├── mail/ # SMTP 邮件发送
|
||||
└── redis/ # Redis 客户端
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user