veza/docs/archive/root-md/report_auth_repair_final.md
senke 43af35fd93 chore(audit 2.2, 2.3): nettoyer .md et .json à la racine
- Archiver 131 .md dans docs/archive/root-md/
- Archiver 22 .json dans docs/archive/root-json/
- Conserver 7 .md utiles (README, CONTRIBUTING, CHANGELOG, etc.)
- Conserver package.json, package-lock.json, turbo.json
- Ajouter README d'index dans chaque archive
2026-02-15 14:35:08 +01:00

2.3 KiB

Rapport de Réparation Auth (Final)

Statut: backend RÉPARÉ | frontend CODE RÉPARÉ | ⚠️ frontend RUNTIME REQUIRES RESTART (HMR Issue)

1. Ce qui a été réparé

Backend (Critique P0)

  1. Schema refresh_tokens:
    • Correction de l'erreur null value in column "token" qui bloquait tout login.
    • Suppression propre de la colonne obsolète token via migration SQL.
    • Standardisation sur token_hash sécurisé.
  2. Robustesse Register:
    • Ajout de la gestion explicite des erreurs PostgreSQL 23505 (unique_violation).
    • Le backend renvoie désormais des messages clairs (email exists, username exists) au lieu de 500 génériques.
  3. Ergonomie Login:
    • Ajout de logs détaillés (zap) pour chaque étape critique (DB, Bcrypt, JWT).
    • Le backend a été redémarré avec succès.
    • Vérification CURL: Succès (200 OK, JWT token retourné).

Frontend (Apps/Web)

  1. Parsing API:
    • Correction critique dans services/api.ts: Le frontend ne "déballait" pas la réponse { success: true, data: { ... } }.
    • Ajout du déballage: const { user, token } = response.data.data;.
  2. Types TypeScript:
    • Mise à jour du schéma Zod UserSchema: id est maintenant un z.string() (UUID) au lieu de number, aligné avec le backend.

2. Problème Restant (Environnement Local)

Bien que le code soit valide, l'environnement de développement vite (apps/web) semble bloqué dans un état incohérent (écran blanc ou HMR qui ne s'applique pas) malgré un redémarrage forcé. Ceci est un problème purement local de l'agent (cache navigateur ou processus node zombie).

3. Instructions pour l'Utilisateur

Pour valider le fix final :

  1. Redémarrez complètement le frontend :
    # Dans le dossier apps/web
    Ctrl+C
    npm run dev
    
  2. Ouvrez votre navigateur en Navigation Privée (pour éviter le cache stale).
  3. Testez le login avec :
    • Email: test.veza.qa+01@example.com
    • Pass: password

Cela DOIT fonctionner et vous rediriger vers le Dashboard.


Commits effectués :

  • fix(auth): realign refresh_tokens schema with Go model
  • fix(auth): make user registration robust and collision-safe
  • fix(frontend): update api response parsing and user schema