refactor(auth): remove unused Refresh methods from authenticators

- Deleted `Refresh` implementations in Codex, Claude, Gemini, Qwen, and Gemini-web authenticators.
- Updated the `Authenticator` interface to exclude `Refresh` for cleaner design.
- Revised `Manager` and related components to handle refresh logic improvements.
- Simplified token refresh behavior and eliminated redundant code paths.
This commit is contained in:
Luis Pater
2025-09-22 21:11:53 +08:00
parent 837ae1b1b3
commit 053134f66e
10 changed files with 27 additions and 156 deletions

View File

@@ -143,36 +143,3 @@ func (a *ClaudeAuthenticator) Login(ctx context.Context, cfg *config.Config, opt
Metadata: metadata,
}, nil
}
func (a *ClaudeAuthenticator) Refresh(ctx context.Context, cfg *config.Config, record *TokenRecord) (*TokenRecord, error) {
if record == nil || record.Storage == nil {
return nil, fmt.Errorf("cliproxy auth: empty token record for claude refresh")
}
if cfg == nil {
return nil, fmt.Errorf("cliproxy auth: configuration is required")
}
if ctx == nil {
ctx = context.Background()
}
storage, ok := record.Storage.(*claude.ClaudeTokenStorage)
if !ok {
return nil, fmt.Errorf("cliproxy auth: unexpected token storage type for claude refresh")
}
// Refresh via auth service directly (no legacy client)
svc := claude.NewClaudeAuth(cfg)
td, err := svc.RefreshTokensWithRetry(ctx, storage.RefreshToken, 3)
if err != nil {
return nil, err
}
svc.UpdateTokenStorage(storage, td)
result := &TokenRecord{
Provider: a.Provider(),
FileName: record.FileName,
Storage: storage,
Metadata: record.Metadata,
}
return result, nil
}