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」频道最新
- 同一套 DeepSeek 内核两种优化路线:vLLM 拆专家、SGLang 降访存 — AccBalanced · 2026-10-27
- 用 Tailscale 让云端 Grok Bot 在自己 Mac mini 上写代码,全程不开公网端口 — talkaboutdesign · 2026-10-27
- 工程师数月实践:Agent 每次调用重发全量上下文,改一个 token 全额付费 — dscape · 2026-10-27
- Alchemy 支持 Effect Workflow:跨 Durable Objects、Workflows 与 Lambda 持久函数 — samgoodwin89 · 2026-10-27
- Alchemy 推出 Lambda Web Functions,Node 版 Web 服务器直接上 Lambda — samgoodwin89 · 2026-10-27
- Alchemy 全部约 2850 个 AWS binding 现已跨云可用 — samgoodwin89 · 2026-10-27