124 lines
2.8 KiB
Markdown
124 lines
2.8 KiB
Markdown
|
|
# 接口文档模板
|
|||
|
|
|
|||
|
|
## 接口信息
|
|||
|
|
|
|||
|
|
- **接口名称**: 执行Salesforce登出操作(源ORG)
|
|||
|
|
- **接口路径**: /salesforce/login/logout
|
|||
|
|
- **请求方法**: POST
|
|||
|
|
- **模块归属**: datai-salesforce-auth
|
|||
|
|
- **版本号**: v1.0
|
|||
|
|
- **创建日期**: 2026-01-14
|
|||
|
|
- **最后更新**: 2026-01-14
|
|||
|
|
|
|||
|
|
## 功能描述
|
|||
|
|
|
|||
|
|
执行Salesforce源ORG的登出操作,从登录历史记录中获取最新的成功登录信息,并使用该Session ID执行登出。登出成功后会清除本地缓存的Session信息。
|
|||
|
|
|
|||
|
|
## 请求参数
|
|||
|
|
|
|||
|
|
无需请求参数。
|
|||
|
|
|
|||
|
|
## 响应数据
|
|||
|
|
|
|||
|
|
### 成功响应
|
|||
|
|
|
|||
|
|
**HTTP 状态码**: 200 OK
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"message": "登出成功",
|
|||
|
|
"data": null
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 失败响应
|
|||
|
|
|
|||
|
|
**HTTP 状态码**: 400/500
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 400,
|
|||
|
|
"message": "未找到登录历史记录",
|
|||
|
|
"data": null
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 错误码 | 错误信息 | 描述 |
|
|||
|
|
|--------|----------|------|
|
|||
|
|
| 400 | 未找到登录历史记录 | 系统中没有找到登录历史记录 |
|
|||
|
|
| 400 | 登出失败 | 登出操作执行失败 |
|
|||
|
|
| 500 | 登出失败: 系统错误 | 系统内部错误 |
|
|||
|
|
|
|||
|
|
## 接口示例
|
|||
|
|
|
|||
|
|
### 请求示例
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl -X POST "http://localhost:8080/salesforce/login/logout" \
|
|||
|
|
-H "Content-Type: application/json"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 响应示例
|
|||
|
|
|
|||
|
|
**成功**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"message": "登出成功",
|
|||
|
|
"data": null
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**失败**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 400,
|
|||
|
|
"message": "未找到登录历史记录",
|
|||
|
|
"data": null
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 错误处理
|
|||
|
|
|
|||
|
|
1. **未找到登录历史记录**: 检查是否已经登录过
|
|||
|
|
2. **登出失败**: 检查Session ID是否有效
|
|||
|
|
3. **系统错误**: 记录错误日志并返回通用错误信息
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
1. 登出操作会从登录历史记录中获取最新的成功登录信息
|
|||
|
|
2. 登出成功后会清除本地缓存的Session信息
|
|||
|
|
3. 如果没有登录历史记录,登出操作将失败
|
|||
|
|
4. 登出操作不影响其他ORG的登录状态
|
|||
|
|
|
|||
|
|
## 相关接口
|
|||
|
|
|
|||
|
|
- [登录操作](0001-do-login.md) - 执行Salesforce登录操作
|
|||
|
|
- [获取当前登录信息](0003-current.md) - 获取当前登录信息
|
|||
|
|
- [自动登录](0004-auto-login.md) - 自动登录(支持源ORG和目标ORG)
|
|||
|
|
|
|||
|
|
## 实现细节
|
|||
|
|
|
|||
|
|
1. 从登录历史记录中获取最新的成功登录信息
|
|||
|
|
2. 提取Session ID、登录类型和ORG类型
|
|||
|
|
3. 调用SalesforceLoginService执行登出
|
|||
|
|
4. 返回登出结果
|
|||
|
|
|
|||
|
|
## 测试信息
|
|||
|
|
|
|||
|
|
### 测试环境
|
|||
|
|
|
|||
|
|
- **环境**: 本地开发环境
|
|||
|
|
- **版本**: v1.0
|
|||
|
|
|
|||
|
|
### 测试用例
|
|||
|
|
|
|||
|
|
| 测试场景 | 输入参数 | 预期结果 | 实际结果 | 状态 |
|
|||
|
|
|----------|----------|----------|----------|------|
|
|||
|
|
| 登出成功 | 无 | 返回登出成功 | 返回登出成功 | 通过 |
|
|||
|
|
| 未登录时登出 | 无 | 返回未找到登录历史记录 | 返回未找到登录历史记录 | 通过 |
|
|||
|
|
| Session已过期 | 无 | 返回登出失败 | 返回登出失败 | 通过 |
|