 jiesenandClaude Sonnet 4.5
|
424092e7e5
|
fix(codex): 支持 API Key 和 Access Token 认证模式
## 问题描述
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>
|
2025-12-21 09:41:45 +07:00 |
|