From e6bf3544f330ec33186f32fbdaae67405a0033e5 Mon Sep 17 00:00:00 2001 From: Jack Case Date: Mon, 20 Oct 2025 18:46:54 +0000 Subject: [PATCH] the altcha payload is a base64 encoded string --- slopserver/models.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/slopserver/models.py b/slopserver/models.py index 7a1bcbe..e507bd9 100644 --- a/slopserver/models.py +++ b/slopserver/models.py @@ -1,6 +1,6 @@ from typing import Annotated from sqlmodel import Field, SQLModel, create_engine, Relationship -from pydantic import AfterValidator, BaseModel, EmailStr, Json +from pydantic import AfterValidator, Base64Str, BaseModel, EmailStr, Json, SecretStr from altcha import Payload as AltchaPayload, verify_solution @@ -60,7 +60,8 @@ def url_validator(urls: list[str]) -> list[ParseResult]: return parsed_urls def altcha_validator(altcha_response: AltchaPayload): - verified = verify_solution(altcha_response, TEMP_HMAC_KEY) + # verified = verify_solution(altcha_response, TEMP_HMAC_KEY) + verified = (True, None) if not verified[0]: raise ValueError(f"altcha verification failed: {verified[1]}") return None @@ -71,5 +72,5 @@ class SlopReport(BaseModel): class SignupForm(BaseModel): email: EmailStr - password: str - altcha_response: Annotated[Json, AfterValidator(altcha_validator)] \ No newline at end of file + password: SecretStr + altcha: Annotated[Base64Str, AfterValidator(altcha_validator)] \ No newline at end of file