work_script/sso/README.md
Ching L 491db50f95 feat(sso): add interactive SSO management script tools
- Added run_sso_script.sh for remote script execution with SSH
- Added sso_script.py with Django-based SSO management functions
- Implemented XDP Ultra redeem code generation functionality
- Added batch product binding and update capabilities
- Included comprehensive documentation and usage examples
- Added automatic cleanup mechanisms for remote temporary files
2025-12-12 18:05:53 +08:00

120 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SSO 交互式脚本工具
这是一个用于远程执行 SSO (Single Sign-On) 相关管理任务的交互式脚本工具集。
## 文件说明
- `run_sso_script.sh` - 主要执行脚本,负责将 Python 脚本上传到远程服务器并执行
- `sso_script.py` - Django 交互式管理脚本,提供 SSO 系统的各种管理功能
## 功能概述
### run_sso_script.sh 功能
- 自动将本地 Python 脚本上传到远程 Proxmox 容器
- 建立交互式 SSH 连接执行脚本
- 自动清理远程临时文件
- 支持脚本执行过程中的用户交互
### sso_script.py 功能
该脚本提供以下三个主要管理功能:
1. **创建 XDP Ultra Redeem Code**
- 生成指定数量的兑换码
- 用于 XDP Ultra 产品的许可证激活
2. **批次绑定商品**
- 将序列号批次与商品进行绑定
- 支持批量操作以提高效率
3. **批次更新商品**
- 更新已绑定序列号的商品信息
- 支持批量修改商品绑定关系
## 使用方法
### 环境配置
在使用前需要确保:
1. **远程服务器配置**(在 `run_sso_script.sh` 中配置):
```bash
REMOTE_USER="root"
REMOTE_SERVER="172.24.9.97"
```
2. **本地环境**
- 确保可以通过 SSH 连接到远程服务器
- 远程服务器上存在包含 "celery" 名称的 Proxmox 容器
### 执行步骤
1. **运行主脚本**
```bash
./run_sso_script.sh
```
2. **选择功能**
脚本启动后会显示交互式菜单:
```
==================================================
SSO 交互式脚本
==================================================
请选择要执行的功能:
1. 创建 XDP Ultra Redeem Code
2. 批次绑定商品
3. 批次更新商品
0. 退出
==================================================
```
3. **按提示输入参数**
- **功能1**:输入要生成的兑换码数量
- **功能2**输入商品ID、批次ID、开始流水号、结束流水号
- **功能3**输入新商品ID、批次ID、开始流水号、结束流水号
### 使用示例
#### 示例1创建 50 个 XDP Ultra Redeem Code
```
请选择要执行的功能: 1
请输入要生成的数量: 50
```
#### 示例2批次绑定商品
```
请选择要执行的功能: 2
请输入商品ID (product_id): 12345
请输入批次ID (batch_id): 67890
请输入开始流水号 (start): 1001
请输入结束流水号 (stop): 1100
```
#### 示例3批次更新商品
```
请选择要执行的功能: 3
请输入新商品ID (new_product_id): 54321
请输入批次ID (batch_id): 67890
请输入开始流水号 (start): 1001
请输入结束流水号 (stop): 1100
```
## 技术架构
- **远程执行**:使用 SSH 和 Proxmox 容器技术
- **Django 集成**:脚本运行在 Django 环境中,可访问相关数据模型
- **数据处理**:使用 MongoDB 和 FlexEngine 进行数据操作
- **许可证管理**:集成许可证颁发和管理系统
## 注意事项
1. **权限要求**:需要远程服务器的 root 权限
2. **网络连接**:确保与远程服务器的网络连通性
3. **数据安全**:操作涉及生产数据,请谨慎使用
4. **错误处理**:脚本包含基本错误处理,如遇问题请检查输入参数
5. **清理机制**:脚本会自动清理远程临时文件,无需手动操作
## 故障排除
- **连接失败**:检查 SSH 配置和网络连接
- **容器未找到**:确认远程服务器上存在包含 "celery" 名称的容器
- **权限错误**:确认用户具有必要的系统权限
- **参数错误**:检查输入的 ID 和数值是否正确