דלג לתוכן הראשי

מערכת הרישוי

המערכת כוללת מנגנון רישוי מתקדם (src/license) המאפשר ניהול הרשאות ברמת הארגון (Organization) או השרת.

ארכיטקטורה

הרישיון הוא קובץ JSON חתום קריפטוגרפית (HMAC-SHA256) המונע זיופים. הקובץ נשמר ב-server-nest/config/license.json או נטען ממשתנה סביבה BT_MANAGEMENT_LICENSE.

סוגי רישיונות (Tiers)

  • Trial: מוגבל ל-30 יום, 5 מכשירים.
  • Basic: פיצ'רים בסיסיים בלבד.
  • Professional: כולל אנליטיקה מתקדמת והתראות חכמות.
  • Enterprise: SSO, Audit Logs, וללא הגבלת מכשירים.

מבנה הרישיון

interface LicenseInfo {
id: string; // מזהה ייחודי
type: 'trial' | 'basic' | ...;
maxDevices: number; // אכיפת כמות מכשירים
maxUsers: number;
features: string[]; // רשימת פיצ'רים מאופשרים
signature: string; // חתימת האימות
}

אכיפה (Enforcement)

  • בדיקה עיתית: השרת בודק כל שעה (@Interval) את תוקף הרישיון והחריגה מהמכסות.
  • Feature Flags: השירות LicenseService חושף מתודה isFeatureEnabled('smart_alerts') שמשמשת את הקוד העסקי לבדיקת הרשאות.
  • Grace Period: במקרה של ניתוק רשת, המערכת תמשיך לעבוד עם הרישיון האחרון שנטען ("Cached License").

יצירת רישיון

כיום היצירה מתבצעת ידנית דרך CLI או פונקציית createTrialLicense המשמשת לשימוש ראשוני. ה-Secret Key לחתימה נמצא ב-ENV LICENSE_SECRET_KEY.