Harden redemption flow and improve operational safety
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
- **自助开通**:用户输入兑换码和用户名自助开通 Office 365 账号
|
||||
- **自动授权**:账号开通时自动分配许可证
|
||||
- **兑换记录**:后台记录兑换码与已开通账号的对应关系
|
||||
- **审计日志**:后台分页查看生成、删除、兑换成功/失败等关键事件
|
||||
|
||||
## 项目结构
|
||||
|
||||
@@ -80,6 +81,7 @@ docker compose down
|
||||
| `DEFAULT_PASSWORD` | 是 | 新建账号默认密码 | 自定义高强度密码 |
|
||||
| `DEFAULT_DOMAIN` | 建议 | 默认域名 | 例如 `yourtenant.onmicrosoft.com` |
|
||||
| `DEFAULT_LICENSE_SKU` | 可选 | 默认许可证 SKU | 例如 `ENTERPRISEPACK`、`M365_BUSINESS_PREMIUM` |
|
||||
| `LICENSE_ASSIGNMENT_REQUIRED` | 可选 | 许可证分配失败时是否回滚删除新账号 | 默认 `false` |
|
||||
| `DEFAULT_USAGE_LOCATION` | 建议 | 默认使用地区 | 国际版常用:`US`、`SG`、`JP` |
|
||||
| `WEB_AUTH_ENABLED` | 可选 | 后台登录保护 | `true` 或 `false` |
|
||||
| `ADMIN_USERNAME` | 建议 | 后台登录用户名 | 自定义 |
|
||||
@@ -89,6 +91,8 @@ docker compose down
|
||||
| `PORT` | 可选 | 服务监听端口 | 默认 `8000` |
|
||||
| `DEBUG` | 可选 | 调试模式 | 默认 `false` |
|
||||
|
||||
提示:如果本地误用了容器内的 SQLite 路径(例如 `sqlite:////app/data/redemption.db`),项目现在会自动映射到当前仓库下的对应本地路径。
|
||||
|
||||
### Entra ID (Azure AD) 应用配置
|
||||
|
||||
1. **创建应用注册**
|
||||
@@ -126,7 +130,7 @@ docker compose down
|
||||
|
||||
1. 使用设置的 admin 账号登录
|
||||
2. 点击「生成兑换码」批量生成兑换码
|
||||
3. 可以查看所有兑换码及兑换记录
|
||||
3. 可以查看兑换码、兑换记录和审计日志
|
||||
|
||||
### 用户自助开通
|
||||
|
||||
@@ -148,5 +152,6 @@ docker compose down
|
||||
## 注意事项
|
||||
|
||||
- `DEFAULT_LICENSE_SKU` 必须是租户中实际存在的 SKU 名称
|
||||
- 如果希望“建号和授权”保持强一致,可设置 `LICENSE_ASSIGNMENT_REQUIRED=true`
|
||||
- 兑换码使用后立即失效,无法重复使用
|
||||
- 生产环境建议使用 `DEBUG=false` 并配置反向代理
|
||||
- 生产环境建议使用 `DEBUG=false` 并配置反向代理
|
||||
|
||||
Reference in New Issue
Block a user