ccproxy.plugins.oauth_claude.provider¶
ccproxy.plugins.oauth_claude.provider
¶
Claude OAuth provider for plugin registration.
ClaudeOAuthProvider
¶
ClaudeOAuthProvider(
config=None,
storage=None,
http_client=None,
hook_manager=None,
detection_service=None,
settings=None,
)
Bases: ProfileLoggingMixin
Claude OAuth provider implementation for registry.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config
|
ClaudeOAuthConfig | None
|
OAuth configuration |
None
|
storage
|
ClaudeOAuthStorage | None
|
Token storage |
None
|
http_client
|
AsyncClient | None
|
Optional HTTP client (for request tracing support) |
None
|
hook_manager
|
Any | None
|
Optional hook manager for emitting events |
None
|
detection_service
|
CLIDetectionService | None
|
Optional CLI detection service for headers |
None
|
settings
|
Settings | None
|
Optional settings for HTTP client configuration |
None
|
Source code in ccproxy/plugins/oauth_claude/provider.py
requires_client_secret
property
¶
Whether this provider requires a client secret.
get_authorization_url
async
¶
Get the authorization URL for OAuth flow.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state
|
str
|
OAuth state parameter for CSRF protection |
required |
code_verifier
|
str | None
|
PKCE code verifier (if PKCE is supported) |
None
|
Returns:
| Type | Description |
|---|---|
str
|
Authorization URL to redirect user to |
Source code in ccproxy/plugins/oauth_claude/provider.py
handle_callback
async
¶
Handle OAuth callback and exchange code for tokens.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
code
|
str
|
Authorization code from OAuth callback |
required |
state
|
str
|
State parameter for validation |
required |
code_verifier
|
str | None
|
PKCE code verifier (if PKCE is used) |
None
|
redirect_uri
|
str | None
|
Redirect URI used in authorization (optional) |
None
|
Returns:
| Type | Description |
|---|---|
Any
|
Claude credentials object |
Source code in ccproxy/plugins/oauth_claude/provider.py
refresh_access_token
async
¶
Refresh access token using refresh token.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
refresh_token
|
str
|
Refresh token from previous auth |
required |
Returns:
| Type | Description |
|---|---|
Any
|
New token response |
Source code in ccproxy/plugins/oauth_claude/provider.py
revoke_token
async
¶
Revoke an access or refresh token.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
token
|
str
|
Token to revoke |
required |
Source code in ccproxy/plugins/oauth_claude/provider.py
get_provider_info
¶
Get provider information for discovery.
Returns:
| Type | Description |
|---|---|
OAuthProviderInfo
|
Provider information |
Source code in ccproxy/plugins/oauth_claude/provider.py
validate_token
async
¶
Validate an access token.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
access_token
|
str
|
Token to validate |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True if token is valid |
Source code in ccproxy/plugins/oauth_claude/provider.py
get_user_info
async
¶
Get user information using access token.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
access_token
|
str
|
Valid access token |
required |
Returns:
| Type | Description |
|---|---|
dict[str, Any] | None
|
User information or None |
Source code in ccproxy/plugins/oauth_claude/provider.py
get_storage
¶
get_config
¶
save_credentials
async
¶
Save credentials using provider's storage mechanism.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
credentials
|
Any
|
Claude credentials object |
required |
custom_path
|
Any | None
|
Optional custom storage path (Path object) |
None
|
Returns:
| Type | Description |
|---|---|
bool
|
True if saved successfully, False otherwise |
Source code in ccproxy/plugins/oauth_claude/provider.py
load_credentials
async
¶
Load credentials from provider's storage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
custom_path
|
Any | None
|
Optional custom storage path (Path object) |
None
|
Returns:
| Type | Description |
|---|---|
Any | None
|
Credentials if found, None otherwise |
Source code in ccproxy/plugins/oauth_claude/provider.py
create_token_manager
async
¶
Create token manager with proper dependency injection.
Provided to allow core/CLI code to obtain a manager without importing plugin classes directly.
Source code in ccproxy/plugins/oauth_claude/provider.py
exchange_manual_code
async
¶
Exchange manual authorization code for tokens.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
code
|
str
|
Authorization code from manual entry |
required |
Returns:
| Type | Description |
|---|---|
Any
|
Claude credentials object |