datai/docs/archive/api-docs/auth/DataISfLoginController/0002-logout.md

127 lines
3.2 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.

# 执行Salesforce登出操作支持源ORG和目标ORG
## 接口信息
- **接口名称**: 执行Salesforce登出操作支持源ORG和目标ORG
- **接口路径**: /salesforce/login/logout
- **请求方法**: POST
- **模块归属**: datai-salesforce-auth
- **版本号**: v1.0
- **创建日期**: 2026-01-14
- **最后更新**: 2026-01-16
## 功能描述
执行Salesforce源ORG的登出操作从登录历史记录中获取最新的成功登录信息并使用该Session ID执行登出。登出成功后会清除本地缓存的Session信息。注意登出操作只清除本地缓存的Session信息不会影响Salesforce端的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的登录状态
5. 登出操作只清除本地缓存的Session信息不会影响Salesforce端的Session状态
6. Session ID在日志中会被脱敏处理不会记录完整的Session ID
7. 如果需要彻底清除Salesforce端的Session需要在Salesforce端手动操作或等待Session过期
## 相关接口
- [登录操作](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已过期 | 无 | 返回登出失败 | 返回登出失败 | 通过 |