אימות והרשאות
מערכת האימות מבוססת JWT עם תמיכה ב-access token ו-refresh token.
ארכיטקטורה
מקור: src/auth/
זרימת אימות
- משתמש שולח פרטי התחברות ל-
POST /auth/login - השרת מאמת סיסמה מול bcrypt hash
- מונפקים access token (15 דקות) ו-refresh token (7 ימים)
- Refresh token נשמר ב-Redis (hashed)
- בכל בקשה,
JwtAuthGuardמאמת את ה-access token
שרשרת האבטחה
JwtAuthGuard → PermissionsGuard → RateLimitGuard → AccountLockoutGuard → TenantInterceptor
נקודות קצה
| שיטה | נקודת קצה | תיאור |
|---|---|---|
POST | /auth/login | התחברות |
POST | /auth/register | הרשמת משתמש חדש |
POST | /auth/refresh | חידוש access token |
POST | /auth/logout | התנתקות (ביטול tokens) |
POST | /auth/change-password | שינוי סיסמה |
אבטחה
- סיסמאות מוצפנות עם bcrypt (עלות ≥ 12)
- Rate limiting על כל endpoints של אימות
- נעילת חשבון אחרי ניסיונות כושלים חוזרים
- כל ה-tokens מבוטלים בשינוי סיסמה
- סודות JWT מגיעים ממשתני סביבה בלבד