feat: Step 1 Auth complete - Token generation and email loop verified
This commit is contained in:
@@ -14,4 +14,43 @@
|
||||
## Hiba Kezelés
|
||||
- **401:** Token lejárt -> Frontend dobjon Loginra.
|
||||
- **403:** Jogosultság hiba -> "Nincs jogod ehhez a funkcióhoz" (Tier limit).
|
||||
- **404:** Resource not found OR Soft Deleted.
|
||||
- **404:** Resource not found OR Soft Deleted.
|
||||
|
||||
## 🌐 8. Nemzetköziesítés (i18n) és Lokalizáció
|
||||
|
||||
A rendszer a "Global-Local" elv alapján működik. Tilos a programkódban (hard-coded) szöveges üzeneteket elhelyezni.
|
||||
|
||||
### 8.1. Nyelvi fájlok struktúrája
|
||||
Minden nyelvi fájl a `backend/app/locales/` mappában található, szabványos JSON formátumban.
|
||||
Példa: `hu.json`, `en.json`, `de.json`.
|
||||
|
||||
### 8.2. Kezelési szabályok
|
||||
- **Backend:** A rendszerüzeneteket, hibaüzeneteket és az e-mail sablonok tartalmát a `LocaleManager` szolgáltatáson keresztül kéri le.
|
||||
- **Paraméterezés:** A szövegekben használható változók formátuma: `{variable_name}`.
|
||||
- **Sablonkezelés:** Az e-mailek HTML vázát és a JSON-ban tárolt szöveges blokkokat a rendszer a küldés előtt fűzi össze.
|
||||
|
||||
### 8.3. Nyelvválasztás logikája
|
||||
1. A kérés fejlécében érkező `Accept-Language` alapján.
|
||||
2. Bejelentkezett felhasználó esetén a `User.region_code` alapján.
|
||||
3. Alapértelmezett: `hu`.
|
||||
|
||||
# 🛡️ 9. Unified Registration & Security Protocol
|
||||
|
||||
A rendszer a "Minimal Friction, Maximum Security" elvét követi.
|
||||
|
||||
### 9.1. Regisztrációs Életciklus
|
||||
1. **Step 1 (Lite):** `Email`, `Jelszó`, `Név` megadása. Létrejön a `User` és `Person` rekord. Állapot: `is_active: false`.
|
||||
2. **Verifikáció:** A rendszer UUID alapú tokent generál (48 órás élettartam). A felhasználó e-mailben kap egy gombot/linket.
|
||||
3. **Step 2 (KYC):** Sikeres verifikáció után a felhasználó megadja az okmányait (rugalmas választó: Személyi/Jogsi/Hajó).
|
||||
4. **Aktiválás:** Létrejön a **Privát Flotta (Privát Széf)** és a hozzá tartozó `Wallet`. Állapot: `is_active: true`.
|
||||
|
||||
### 9.2. Token Biztonsági Előírások
|
||||
- **Regisztrációs Token:** 48 óra élettartam.
|
||||
- **Jelszó-visszaállítási Token:** 1 óra élettartam.
|
||||
|
||||
### 9.3. Rate Limiting (Robotvédelem és Költségkontroll)
|
||||
Az e-mail küldési folyamatokra az alábbi korlátok vonatkoznak:
|
||||
- **Retry Cooldown:** Újraigénylés (pl. "Nem kaptam meg a kódot") legkorábban 60 másodperc után lehetséges.
|
||||
- **Óránkénti Limit:** Maximum 3 kérelem / e-mail cím.
|
||||
- **Napi Limit:** Maximum 10 kérelem / e-mail cím.
|
||||
- **Zárolás:** A napi limit túllépése esetén a fiók biztonsági okokból 24 órára zárolja a küldési funkciót az adott címre.
|
||||
@@ -134,4 +134,28 @@ A rendszer két szintű helyreállítást biztosít:
|
||||
- **Kötelező adatok:** Vezetéknév, Keresztnév, Anyja neve, Személyi igazolvány száma.
|
||||
- **Logika:** 1. A rendszer azonosítja a `Person` rekordot.
|
||||
2. Ha sikeres, a rendszer kiküld egy visszaállító linket a Person-höz tartozó **elsődleges telefonszámra (SMS)** vagy a **legutolsó aktív Email címre**.
|
||||
3. Sikeres helyreállítás után a felhasználónak kötelezően jelszót kell cserélnie.
|
||||
3. Sikeres helyreállítás után a felhasználónak kötelezően jelszót kell cserélnie.
|
||||
|
||||
## 🛡️ 10. Kormányozhatóság és Biztonsági Beállítások
|
||||
|
||||
A rendszer biztonsági paraméterei központilag, a környezeti változókon keresztül szabályozhatók. Ez lehetővé teszi a biztonsági szint gyors módosítását (pl. támadás esetén szigorítás) a kód módosítása nélkül.
|
||||
|
||||
### 10.1. Token Élettartam Szabályok
|
||||
A `.env` fájlban (vagy a rendszer beállításaiban) az alábbi paraméterekkel szabályozható a hozzáférés:
|
||||
|
||||
| Paraméter | Leírás | Alapértelmezett |
|
||||
| :--- | :--- | :--- |
|
||||
| `REGISTRATION_TOKEN_EXPIRE_HOURS` | Regisztráció megerősítésére álló idő | 48 óra |
|
||||
| `PASSWORD_RESET_TOKEN_EXPIRE_HOURS` | Jelszó visszaállítására álló idő | 1 óra |
|
||||
|
||||
### 10.2. Ideiglenes .env Konfiguráció (Példa)
|
||||
```env
|
||||
# SECURITY SETTINGS
|
||||
REGISTRATION_TOKEN_EXPIRE_HOURS=48
|
||||
PASSWORD_RESET_TOKEN_EXPIRE_HOURS=1
|
||||
|
||||
# EMAIL SYSTEM
|
||||
EMAIL_PROVIDER=sendgrid
|
||||
EMAILS_FROM_EMAIL=info@profibot.hu
|
||||
EMAILS_FROM_NAME='Profibot Service Finder'
|
||||
SENDGRID_API_KEY=SG.xxxxxxxxxxxxxxxxxxxx
|
||||
Reference in New Issue
Block a user