datai/docs/archive/changelog/0018-datai-salesforce-auth-immediate-fixes.md

86 lines
3.2 KiB
Markdown
Raw Normal View History

# Changelog
## 变更信息
- **版本号**: v0.1.18
- **发布日期**: 2026-01-16
- **变更类型**: 安全修复
## 变更摘要
修复 datai-salesforce-auth 模块中的安全问题,包括密码加密方式调整、敏感信息日志脱敏和请求频率限制。这些修复提高了系统的安全性,防止密码泄露、日志泄露和暴力破解攻击。
## 详细变更
### 安全修复
- **密码加密方式调整** - 将密码加密方式从对称加密改为不可逆的 BCrypt 哈希算法,提高了密码安全性
- **敏感信息日志脱敏** - 对 Session ID、用户 ID 等敏感信息进行脱敏处理,防止日志泄露
- **请求频率限制** - 为登录接口添加请求频率限制功能(每分钟最多 5 次登录尝试),防止暴力破解攻击
### 其他变更
- **语法错误检查** - 检查代码语法,确认代码中的 3 个右括号 `)))` 是正确的语法,不存在语法错误
## 影响范围
### 受影响的模块
- **datai-salesforce-auth** - 影响程度:高,涉及密码加密、日志记录和登录接口
### 兼容性说明
- **数据库变更** - 需要执行数据库迁移脚本,添加 password_hash 字段
- **配置变更** - 需要在 application-auth.yml 中添加限流配置
- **向后兼容** - 保留旧的 passwordEncrypted 字段,标记为 @Deprecated,以便于回滚
## 升级指南
### 升级步骤
1. 执行数据库迁移脚本 migration-change-password-encryption.sql添加 password_hash 字段
2. 更新 application-auth.yml 配置文件,添加限流配置
3. 重新编译和部署应用
4. 测试登录功能,确保登录正常工作
5. 测试自动登录功能,确保自动登录正常工作
6. 测试请求频率限制,确保超过限制时返回明确的错误信息
7. 查看日志文件,确保敏感信息已正确脱敏
### 注意事项
- 由于从对称加密改为 BCrypt 哈希,旧的密码无法直接迁移,建议用户重新登录
- 可以保留旧的 passwordEncrypted 字段一段时间,以便于回滚
- 确认新系统运行正常后,可以考虑删除旧的 passwordEncrypted 字段
- 限流功能默认启用,可以通过配置文件禁用或调整限流参数
## 测试信息
### 测试环境
- **开发环境** - 本地开发环境,用于功能测试
### 测试结果
- **密码加密测试** - 测试通过,密码使用 BCrypt 加密,无法直接解密
- **日志脱敏测试** - 测试通过,日志中敏感信息已脱敏
- **请求频率限制测试** - 测试通过,超过限制时返回明确的错误信息
- **登录功能测试** - 测试通过,登录功能正常工作
- **自动登录功能测试** - 测试通过,自动登录功能正常工作
## 相关链接
- [需求文档](../requirements/REQ-008.md) - datai-salesforce-auth 模块立即修复事项
- [架构决策](../decisions/adr/0008-datai-salesforce-auth-immediate-fixes.md) - datai-salesforce-auth 模块立即修复架构决策
- [会话记录](../sessions/20260116-datai-salesforce-auth-immediate-fixes.md) - datai-salesforce-auth 模块立即修复实现
## 发布人员
- **SSOT Architect** - 架构师
## 审核信息
- **审核人员**: 待审核
- **审核日期**: 待审核
- **审核状态**: 待审核
- **审核意见**: 待审核