from pydantic import BaseModel class LoginRequest(BaseModel): username: str password: str class LoginResponse(BaseModel): access_token: str refresh_token: str | None = None token_type: str = "Bearer" expires_in: int | None = None refresh_expires_in: int | None = None scope: str | None = None class OIDCAuthUrlResponse(BaseModel): authorize_url: str class OIDCCodeExchangeRequest(BaseModel): code: str redirect_uri: str code_verifier: str | None = None class RefreshTokenRequest(BaseModel): refresh_token: str