mirror of
https://github.com/aiclientproxy/proxycast.git
synced 2026-09-24 23:10:56 +08:00
## 问题描述 Codex provider 当前强制要求 refresh_token,导致用户无法使用 API Key 模式。 ## 解决方案 在 refresh_token() 方法中添加 access_token 降级处理逻辑,支持三种认证模式: 1. **API Key 模式**(优先级最高) - 凭证:api_key + 可选 api_base_url - 行为:直接使用,无需刷新 2. **OAuth 模式**(标准流程) - 凭证:refresh_token + access_token - 行为:自动刷新,完全向后兼容 3. **Access Token 模式**(新增支持) - 凭证:仅 access_token - 行为:返回现有 token,无法自动刷新 ## 主要变更 - 修改 refresh_token() 方法,添加 access_token 降级处理(16 行核心逻辑) - 添加完整的文档注释,说明三种认证模式及示例(24 行) - 添加 4 个单元测试,覆盖所有认证场景(58 行) - 改进错误消息,提供清晰的配置指导 ## 测试结果 - ✅ 所有测试通过(24/24) - ✅ 编译通过(0 错误) - ✅ 向后兼容(现有 OAuth 流程不受影响) - ✅ 测试覆盖率 ≥85% ## 向后兼容性 完全向后兼容,所有现有功能不受影响。唯一的行为变更是功能增强: - 之前:只有 access_token(无 refresh_token)→ 报错 - 之后:只有 access_token → 返回 token(带警告) Fixes #20 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>