ForcePilot/backend/package/yuxi/services
JunghwanNA c0f17b1fe8 fix: 避免 OIDC 已绑定账号在带冒号的 subject 下被误判为冲突账号
OIDC 原始用户名绑定使用 `oidc:{sub}:{target_user_id}` 记录占位关系,
但读取时按固定下标拆分字符串,导致 `sub` 自身包含冒号时无法回到
真实用户,回调流程会把已绑定用户误判成冲突账号。

本次改动保持现有占位格式不变,只把目标用户 ID 的解析改为从右侧
拆分,并补充覆盖 `sub` 包含冒号的单元测试;同时在 roadmap 中记录
这个回归修复,方便和 OIDC 功能演进保持同一条线索。

Constraint: 保持 OIDC 现有占位 user_id 设计,不引入新表或大范围重构
Rejected: 新增专用绑定表 | 变更范围过大,不符合当前最小修复目标
Rejected: 继续按固定位置 split | 无法兼容 subject 中合法出现的冒号
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: 后续若继续沿用字符串占位格式,解析必须始终从尾部提取 target_user_id
Tested: OPENAI_API_KEY=dummy YUXI_SKIP_APP_INIT=1 uv run --group test pytest test/unit/services/test_oidc_service.py
Tested: OPENAI_API_KEY=dummy YUXI_SKIP_APP_INIT=1 uv run --group test ruff check package/yuxi/services/oidc_service.py test/unit/services/test_oidc_service.py
Not-tested: Docker compose 环境下的端到端 OIDC 登录流程
2026-04-17 01:40:32 +09:00
..
agent_run_service.py feat: 增强对话线程的 agent_config_id 绑定逻辑,确保元数据一致性 2026-03-27 01:15:51 +08:00
chat_service.py style: format code 2026-04-01 04:16:22 +08:00
conversation_service.py fix: 修复沙盒共享权限配置错误的问题 #594 2026-04-02 11:17:30 +08:00
evaluation_service.py refactor: 将后端代码迁移至 backend 目录 2026-03-24 11:08:12 +08:00
feedback_service.py foramt: 规范化代码 2026-03-24 11:09:39 +08:00
filesystem_service.py fix: 修复沙盒共享权限配置错误的问题 #594 2026-04-02 11:17:30 +08:00
knowledge_fs_service.py style(lint): 优化格式 2026-03-26 13:53:35 +08:00
langfuse_service.py feat: 集成 Langfuse 以增强 Yuxi 中的可观察性 2026-03-31 09:58:16 +08:00
mcp_service.py refactor(chatbot): 更新提示词和待办事项中间件,简化系统提示构建 2026-04-06 12:09:22 +08:00
oidc_service.py fix: 避免 OIDC 已绑定账号在带冒号的 subject 下被误判为冲突账号 2026-04-17 01:40:32 +09:00
remote_skill_install_service.py fix: 修复路径遍历安全漏洞并添加文件名校验 2026-04-02 15:19:33 +00:00
run_queue_service.py fix: 修复错误 #605 2026-04-04 13:57:21 +08:00
run_worker.py fix: 修复 MCP worker 配置加载不一致 2026-04-04 14:47:23 +08:00
skill_service.py fix: 修复 MCP worker 配置加载不一致 2026-04-04 14:47:23 +08:00
subagent_service.py feat: 优化 summary 组件 2026-04-02 09:05:56 +08:00
task_service.py refactor: 将后端代码迁移至 backend 目录 2026-03-24 11:08:12 +08:00
thread_files_service.py feat: 增加 Argon2 密码哈希支持,优化文件系统安全性,修复 frontmatter 解析 2026-04-02 16:03:01 +08:00
tool_service.py feat: 增加工具配置说明展示 2026-03-30 16:39:27 +08:00
viewer_filesystem_service.py feat: workspace 目录下支持新建文件夹以及上传文件 2026-04-06 18:49:13 +08:00