Skip to content

ccproxy.config.auth

ccproxy.config.auth

Authentication and credentials configuration.

OAuthSettings

Bases: BaseModel

OAuth-specific settings.

CredentialStorageSettings

Bases: BaseModel

Settings for credential storage locations.

AuthSettings

Bases: BaseModel

Combined authentication and credentials configuration.

validate_oauth classmethod

validate_oauth(v)

Validate and convert OAuth configuration.

Source code in ccproxy/config/auth.py
@field_validator("oauth", mode="before")
@classmethod
def validate_oauth(cls, v: Any) -> Any:
    """Validate and convert OAuth configuration."""
    if v is None:
        return OAuthSettings()

    # If it's already an OAuthSettings instance, return as-is
    if isinstance(v, OAuthSettings):
        return v

    # If it's a dict, create OAuthSettings from it
    if isinstance(v, dict):
        return OAuthSettings(**v)

    # Try to convert to dict if possible
    if hasattr(v, "model_dump"):
        return OAuthSettings(**v.model_dump())
    elif hasattr(v, "__dict__"):
        return OAuthSettings(**v.__dict__)

    return v

validate_storage classmethod

validate_storage(v)

Validate and convert storage configuration.

Source code in ccproxy/config/auth.py
@field_validator("storage", mode="before")
@classmethod
def validate_storage(cls, v: Any) -> Any:
    """Validate and convert storage configuration."""
    if v is None:
        return CredentialStorageSettings()

    # If it's already a CredentialStorageSettings instance, return as-is
    if isinstance(v, CredentialStorageSettings):
        return v

    # If it's a dict, create CredentialStorageSettings from it
    if isinstance(v, dict):
        return CredentialStorageSettings(**v)

    # Try to convert to dict if possible
    if hasattr(v, "model_dump"):
        return CredentialStorageSettings(**v.model_dump())
    elif hasattr(v, "__dict__"):
        return CredentialStorageSettings(**v.__dict__)

    return v