| package auth |
|
|
| import ( |
| "time" |
|
|
| cliproxyauth "github.com/router-for-me/CLIProxyAPI/v6/sdk/cliproxy/auth" |
| ) |
|
|
| func init() { |
| registerRefreshLead("codex", func() Authenticator { return NewCodexAuthenticator() }) |
| registerRefreshLead("claude", func() Authenticator { return NewClaudeAuthenticator() }) |
| registerRefreshLead("qwen", func() Authenticator { return NewQwenAuthenticator() }) |
| registerRefreshLead("iflow", func() Authenticator { return NewIFlowAuthenticator() }) |
| registerRefreshLead("gemini", func() Authenticator { return NewGeminiAuthenticator() }) |
| registerRefreshLead("gemini-cli", func() Authenticator { return NewGeminiAuthenticator() }) |
| registerRefreshLead("antigravity", func() Authenticator { return NewAntigravityAuthenticator() }) |
| } |
|
|
| func registerRefreshLead(provider string, factory func() Authenticator) { |
| cliproxyauth.RegisterRefreshLeadProvider(provider, func() *time.Duration { |
| if factory == nil { |
| return nil |
| } |
| auth := factory() |
| if auth == nil { |
| return nil |
| } |
| return auth.RefreshLead() |
| }) |
| } |
|
|