Commit Graph
4 Commits
Author SHA1 Message Date
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
jiesen 770631be97 Codex 支持 API Key 凭证 2025-12-20 21:05:00 +07:00
coso c79304a68e fix: 修复 Codex Token 刷新失败问题 (#17)
- 添加 serde alias 支持 camelCase 字段名 (refreshToken, accessToken 等)
- 兼容 Codex CLI 官方凭证文件格式
- 改进错误提示,指导用户解决 refresh_token 缺失问题
- 增强日志输出,帮助调试凭证加载问题
- 添加测试用例验证多种字段名格式
2025-12-20 19:32:08 +08:00
coso a504ec88fb chore: bump version to v0.12.0
- 迁移 Vertex AI 和 Amp CLI 到凭证池页面
- 删除高级 Provider 导航和相关功能
- 支持编辑 API Key 凭证的 api_key 和 base_url
- 修复凭证卡片标签排版问题
- 移除硬编码的 OAuth 凭证,改为环境变量
2025-12-18 01:01:13 +08:00