datai/datai-scenes/datai-scene-salesforce/docs/api-docs/auth/DataISfLoginController/0002-logout.md

124 lines
2.8 KiB
Markdown
Raw Permalink Normal View History

# 接口文档模板
## 接口信息
- **接口名称**: 执行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已过期 | 无 | 返回登出失败 | 返回登出失败 | 通过 |