3.2 KiB
3.2 KiB
执行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
{
"code": 200,
"message": "登出成功",
"data": null
}
失败响应
HTTP 状态码: 400/500
{
"code": 400,
"message": "未找到登录历史记录",
"data": null
}
| 错误码 | 错误信息 | 描述 |
|---|---|---|
| 400 | 未找到登录历史记录 | 系统中没有找到登录历史记录 |
| 400 | 登出失败 | 登出操作执行失败 |
| 500 | 登出失败: 系统错误 | 系统内部错误 |
接口示例
请求示例
curl -X POST "http://localhost:8080/salesforce/login/logout" \
-H "Content-Type: application/json"
响应示例
成功:
{
"code": 200,
"message": "登出成功",
"data": null
}
失败:
{
"code": 400,
"message": "未找到登录历史记录",
"data": null
}
错误处理
- 未找到登录历史记录: 检查是否已经登录过
- 登出失败: 检查Session ID是否有效
- 系统错误: 记录错误日志并返回通用错误信息
注意事项
- 登出操作会从登录历史记录中获取最新的成功登录信息
- 登出成功后会清除本地缓存的Session信息
- 如果没有登录历史记录,登出操作将失败
- 登出操作不影响其他ORG的登录状态
- 登出操作只清除本地缓存的Session信息,不会影响Salesforce端的Session状态
- Session ID在日志中会被脱敏处理,不会记录完整的Session ID
- 如果需要彻底清除Salesforce端的Session,需要在Salesforce端手动操作或等待Session过期
相关接口
实现细节
- 从登录历史记录中获取最新的成功登录信息
- 提取Session ID、登录类型和ORG类型
- 调用SalesforceLoginService执行登出
- 返回登出结果
测试信息
测试环境
- 环境: 本地开发环境
- 版本: v1.0
测试用例
| 测试场景 | 输入参数 | 预期结果 | 实际结果 | 状态 |
|---|---|---|---|---|
| 登出成功 | 无 | 返回登出成功 | 返回登出成功 | 通过 |
| 未登录时登出 | 无 | 返回未找到登录历史记录 | 返回未找到登录历史记录 | 通过 |
| Session已过期 | 无 | 返回登出失败 | 返回登出失败 | 通过 |