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

3.2 KiB
Raw Permalink Blame History

执行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
}

错误处理

  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过期

相关接口

实现细节

  1. 从登录历史记录中获取最新的成功登录信息
  2. 提取Session ID、登录类型和ORG类型
  3. 调用SalesforceLoginService执行登出
  4. 返回登出结果

测试信息

测试环境

  • 环境: 本地开发环境
  • 版本: v1.0

测试用例

测试场景 输入参数 预期结果 实际结果 状态
登出成功 返回登出成功 返回登出成功 通过
未登录时登出 返回未找到登录历史记录 返回未找到登录历史记录 通过
Session已过期 返回登出失败 返回登出失败 通过