datai/datai-scenes/datai-scene-salesforce/docs/api-docs/auth/DataISfLoginController/0002-logout.md
Kris 469c78cf29 feat: REQ-010-1 完成数据库表结构设计和创建,REQ-010-2 完成基础实体类和Mapper创建需求定义和架构决策
REQ-010-1 完成内容:
- 创建 6 个数据库表设计(datai_meta_org_config、datai_meta_task、datai_meta_job_execution、datai_meta_component、datai_meta_deploy_history、datai_meta_job_log)
- 设计了合理的索引策略
- 对敏感字段进行了加密存储设计
- 表名前缀统一为 datai_meta_
- 所有表包含标准基础字段

REQ-010-2 完成内容:
- 补充用户故事和细化验收标准
- 创建架构决策记录(MyBatis Plus 注解 + XML 映射文件混合方案)
- 对比了 3 种备选方案
- 分析了决策对系统架构、开发流程、运维管理的影响
- 识别了技术风险、业务风险和实施风险
- 定义了回滚策略和验收标准

文档更新:
- 创建 0010-database-table-design.md 架构决策记录
- 创建 0011-entity-mapper-create.md 架构决策记录
- 创建 0020-database-table-design-create.md 变更记录
- 创建 20260117-database-table-design-create.md 会话记录
- 创建 20260117-database-table-design-create-retro.md 复盘报告
- 创建 011-database-table-design-create.md 提示词文档
- 更新 REQ-010-2.md 需求文档
- 更新 docs/index.md 和 CHANGELOG.md
2026-01-18 19:44:13 +08:00

3.2 KiB
Raw 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已过期 返回登出失败 返回登出失败 通过