Gemini CLI 修复会删掉可恢复凭据的 MCP OAuth 刷新 bug
ParthivNaresh · ghdev · 2026-07-22
这是 google-gemini/gemini-cli 的一个修复 PR,目标是修好 MCP OAuth token 在“OAuth discovery + dynamic client registration”场景下的刷新问题。
问题原本出在这里:
- 刷新可能在发出任何网络请求之前就本地失败
- 代码虽然能从已存凭据里拿到 client ID,但刷新流程却把空配置传了进去
- 一旦刷新失败,catch 分支还会把本来可恢复的凭据删掉,导致用户每次重连都得重新认证
修复方式是:
- 使用 config.clientId ?? credentials.clientId
- 在 refresh 调用里传入解析后的 client ID
- 刷新后把 client ID 一并持久化
- 元数据路径和非元数据路径都做同样修正
PR 还附带了测试和端到端验证,针对短时效 token 与真实 DCR 服务场景都能复现并确认修复有效。
「编程与Agent」频道最新
- Alex Townsend 汇编 200 个数值线性代数开放问题,供人类与 AI 攻关 — IgorCarron · 2026-09-11
- Kimi K2.8 Preview 上线:性能接近 K3、1M 上下文全档开放 — teortaxesTex · 2026-09-11
- 有人想给软件工程任务建「形态分类」数据库,好按任务选模型 — StewartalsopIII · 2026-09-11
- 用 prompt 造硬件:一次对话让智能体组装定制设备寄到家 — paraschopra · 2026-09-11
- 模型之外才是关键:一文拆解 RAG 到多智能体的六大 AI 架构 — goyalshaliniuk · 2026-09-11
- 零基础开发者自建分层记忆架构,仅 20k token 记住一年对话 — matteoianni · 2026-09-11