-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
P0 · critiqueBloquant — à traiter immédiatementBloquant — à traiter immédiatementfeatureNouvelle fonctionnalité à développerNouvelle fonctionnalité à développerintermediateRequiert de l'expérience Python / asyncRequiert de l'expérience Python / asyncmodule · userParseUser — authentification et sessionsParseUser — authentification et sessions
Milestone
Description
Contexte
ParseUser hérite de ParseObject et ajoute les opérations d'authentification.
⚠️ Dépend de #1 (ParseClient).
⚠️ Point critique : l'endpoint/loginattend un bodyapplication/x-www-form-urlencoded, pas du JSON. Utilisez le paramètredata=de_http.pyau lieu dejson=. C'est le piège classique.
Endpoints REST Parse
| Méthode | Endpoint | Format body |
|---|---|---|
sign_up() |
POST /users |
JSON |
log_in() |
POST /login |
FORM-ENCODED |
log_out() |
POST /logout |
— (header token) |
request_password_reset() |
POST /requestPasswordReset |
JSON |
API Python attendue
from parse_sdk import ParseUser
user = ParseUser()
user.username = "alice"
user.password = "s3cr3t!"
user.email = "alice@example.com"
await user.sign_up()
print(user.session_token)
user = await ParseUser.log_in("alice", "s3cr3t!")
await ParseUser.log_out()
await ParseUser.request_password_reset("alice@example.com")Fichiers à créer / modifier
- Créer
src/parse_sdk/user.py - Modifier
src/parse_sdk/__init__.py→ ajouterParseUser - Créer
tests/unit/test_user_auth.py
Points techniques
ParseUserhérite deParseObjectavecclass_name = "_User"username,password,email: propriétés@propertylog_in()est une@classmethodqui retourne une instanceParseUser- Après
log_in(), appelerget_client().set_session_token(token) - Après
log_out(), appelerget_client().clear_session_token()
Critères d'acceptation
-
sign_up()→POST /usersJSON, peuplesession_tokenetobject_id -
log_in()→POST /loginen form-encoded -
log_out()→POST /logoutavecX-Parse-Session-Token -
request_password_reset()fonctionne -
ParseUsernameTakenError(202) etParseEmailTakenError(203) levées correctement - Versions
_syncdisponibles - Tests mockés avec
respx -
mypy,black,ruffpassent
Ressources
- Doc Parse REST users : https://docs.parseplatform.org/rest/guide/#users
src/parse_sdk/exceptions.py→ParseUsernameTakenError,ParseEmailTakenError
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P0 · critiqueBloquant — à traiter immédiatementBloquant — à traiter immédiatementfeatureNouvelle fonctionnalité à développerNouvelle fonctionnalité à développerintermediateRequiert de l'expérience Python / asyncRequiert de l'expérience Python / asyncmodule · userParseUser — authentification et sessionsParseUser — authentification et sessions