Schemas
bluefox_auth.schemas
Pydantic request and response models.
Request schemas
RegisterRequest
class RegisterRequest(BaseModel):
email: EmailStr
password: str = Field(min_length=8)
Password is validated to not exceed 72 bytes when UTF-8 encoded (bcrypt's limit).
LoginRequest
class LoginRequest(BaseModel):
email: EmailStr
password: str = Field(max_length=256)
RefreshRequest
class RefreshRequest(BaseModel):
refresh_token: str
LogoutRequest
class LogoutRequest(BaseModel):
refresh_token: str | None = None
PasswordResetRequest
class PasswordResetRequest(BaseModel):
email: EmailStr
PasswordResetConfirm
class PasswordResetConfirm(BaseModel):
token: str
new_password: str = Field(min_length=8)
new_password has the same 72-byte UTF-8 validation as registration.
EmailVerificationRequest
class EmailVerificationRequest(BaseModel):
token: str
Response schemas
TokenResponse
class TokenResponse(BaseModel):
access_token: str
refresh_token: str
token_type: str = "bearer"
UserResponse
class UserResponse(BaseModel):
id: int
email: str
is_active: bool
is_superuser: bool
email_verified: bool
Has from_attributes = True for direct ORM model conversion.
MessageResponse
class MessageResponse(BaseModel):
message: str