2026.06.05 frontend javítgatás és új belépési logika megvalósítva

This commit is contained in:
Roo
2026-06-05 05:46:04 +00:00
parent 59a30ac428
commit 18524a08f2
38 changed files with 3967 additions and 1028 deletions

View File

@@ -0,0 +1,43 @@
# logic_spec_auth_debug.md — Auth Debug Deep Dive
## Modul Célja
Az auth végpontok (forgot-password, login) hibakezelésének debug-javítása. Az `initiate_password_reset` már dob kivételeket (inaktív user esetén HTTPException, email hiba esetén 500), de a végpont ezeket némán elnyeli. A login végpont pedig nem ismeri fel az inaktív fiókot.
## Érintett Fájlok
| Fájl | Szerep |
|------|--------|
| `backend/app/api/v1/endpoints/auth.py` | API végpontok (forgot-password, login) |
| `backend/app/services/auth_service.py` | Üzleti logika (initiate_password_reset, authenticate) |
| `backend/app/services/email_manager.py` | Email küldés Brevo API-n / SMTP-n keresztül |
## 1. Beavatkozás: Forgot-Password Anti-Enumeration Debug
### Jelenlegi állapot
Az `auth.py:114-125` végpont `initiate_password_reset`-et hív, de a visszatérési értéket teljesen figyelmen kívül hagyja. Mindig ugyanazt a generikus választ adja.
Az `auth_service.py:347-388` `initiate_password_reset`:
- Ha nincs user: return "not_found"
- Ha user inaktív: raise HTTPException(400, "AUTH.USER_INACTIVE")
- Ha email hiba: raise HTTPException(500, "Email küldési hiba: ...")
- Siker esetén: return "success"
### Módosítás
A `result` változó ellenőrzése. Ha "not_found", dobjon HTTPException-t.
## 2. Beavatkozás: Login Inaktív Fiók Felismerése
### Jelenlegi állapot
Az `auth.py:32-81` login végpont `AuthService.authenticate`-et hív, ami csak email+jelszó párost ellenőriz, `is_active`-ot NEM. Inaktív user esetén is visszaküldi a tokent `"is_active": false`-cal.
### Módosítás
Token generálás ELŐTT ellenőrizni a `user.is_active` flag-et. Ha False, dobjon explicit `HTTPException(400, "AUTH.USER_INACTIVE")`-t.
## 3. Élő Diagnosztika
### Parancsok
1. curl POST a forgot-password végpontra
2. Docker logok: `docker compose logs --tail 100 sf_api`
## Kockázatok
- Anti-enumeration gyengítése biztonsági rés lehet debug időszakban