ב-Super App, כל מיני-תוכנית לא חייבת לבקש התחברות וסיסמה בנפרד. במקביל, נתוני משתמש—שם, טלפון, אמצעי תשלום—לא חייבים לדלוף בין תוכניות. לפי App Security Group, 60% מדליפות הנתונים מתרחשות עקב בידוד טוקנים לא מספק. אנו פותרים זאת עם פרופיל מאוחד ומערכת טוקני גישה קפדנית. המשתמש מתחבר פעם אחת—כל יישומי המשנה מקבלים את הפרופיל שלהם ללא בקשות נוספות. הארכיטקטורה של מנגנון זה קובעת את האבטחה וחוויית המשתמש של הפלטפורמה כולה. בניסיון שלנו, 10+ פרויקטים בפינטק ומסחר אלקטרוני מאשרים: מודל scope נכון מפחית סיכוני דליפה ב-70%.
ארכיטקטורת פרופיל מאוחד
הפרופיל הראשי מעוצב עם המבנה הבא: Super App מאחסן מזהה, שם, תמונת פרופיל, אימייל וטלפון מאומתים, אמצעי תשלום, כתובות, סטטוס KYC. מיני-תוכניות מקבלות רק מה שהן מבקשות—עקרון ההרשאות המינימליות. אנו מבטיחים שנתונים לא חופפים בין תוכניות. 95% מהדליפות ב-Super Apps מתרחשות עקב הגדרת scope שגויה—לכן אנו שמים דגש מיוחד על כך. הליבה היא אימות מבוסס טוקן: Super App מייצר טוקן גישה זמני שתקף רק למיני-תוכנית ספציפית. הטוקן מכיל שדה מיוחד allowedScopes המפרט את התכונות המותרות. לדוגמה, עבור מיני-תוכנית משלוחי מזון ה-scope עשוי לכלול profile.basic (שם, כתובת) ו-order.history, אך לא phone.verified. תכנית כזו מונעת יירוט נתונים.
העברת טוקן דרך ערוץ פלטפורמה
ב-Flutter, מיני-תוכניות יכולות להיות מיושמות כמודולי Flutter שנטענים דינמית. Super App מעביר את הפרופיל דרך Platform Channel:
דוגמת יישום ב-Flutter
// Super App — отправка профиля в мини-программу
class MiniProgramHost {
static const _channel = MethodChannel('super_app/mini_program_bridge');
Future<void> launchMiniProgram(String miniProgramId) async {
final token = await authService.generateMiniProgramToken(
miniProgramId: miniProgramId,
scopes: ['profile.basic', 'phone.verified'],
expiresIn: Duration(minutes: 30),
);
await _channel.invokeMethod('launch', {
'miniProgramId': miniProgramId,
'token': token,
'theme': ThemeManager.current.toJson(),
});
}
}עבור מיני-תוכניות React Native באופן דומה דרך Native Module. עבור מיני-תוכניות מבוססות WebView (כמו מיני-תוכניות WeChat)—דרך // Super App — отправка профиля в мини-программу class MiniProgramHost { static const _channel = MethodChannel('super_app/mini_program_bridge'); Future<void> launchMiniProgram(String miniProgramId) async { final token = await authService.generateMiniProgramToken( miniProgramId: miniProgramId, scopes: ['profile.basic', 'phone.verified'], expiresIn: Duration(minutes: 30), ); await _channel.invokeMethod('launch', { 'miniProgramId': miniProgramId, 'token': token, 'theme': ThemeManager.current.toJson(), }); } } עם בדיקת origin. Platform Channel מהיר פי 3 בזמן העברה (בדרך כלל 5–15 אלפיות שנייה לעומת 15–40), אך ל-postMessage יש בידוד זיכרון טוב יותר. הבחירה תלויה בדרישות האבטחה: 95% מהפרויקטים משתמשים ב-Platform Channel עבור מיני-תוכניות Flutter.
למה מסך ההסכמה חשוב?
המשתמש חייב לדעת אילו נתונים כל מיני-תוכנית מקבלת. בהפעלה הראשונה, Super App מציג מסך הסכמה: "תוכנית X מבקשת גישה לשמך, מספר הטלפון והיסטוריית ההזמנות. לאשר?" ההסכמה נשמרת בפרופיל ולא נשאלת שוב. זה חובה לעמידה בכללי איסוף הנתונים של App Store ו-Google Play. לפי סטטיסטיקות, 85% מהמשתמשים מאשרים את הבקשה אם ה-scope מוסבר בבירור. ביטול הסכמה מטופל מיידית: בפתיחה הבאה של המיני-תוכנית, היא מקבלת טוקן ללא הזכויות המתאימות, מה שמפחית סיכונים ב-30%. אם משתמש מבטל הרשאה, המיני-תוכנית חייבת לטפל בגישה מוגבלת בחן, למשל לבקש הסכמה שוב או להציג גרסה מוגבלת. אנו מיישמים לוגיקת fallback עבור כל scope כדי לשמור על יציבות האפליקציה.
ניהול סשנים
אם משתמש מתנתק מה-Super App (או שהסשן פג)—יש להודיע לכל המיני-תוכניות מיד. אנו משתמשים בשידור דרך Platform Channel לכל המיני-תוכניות הפעילות של אירוע postMessage. כל מיני-תוכנית חייבת לטפל בו ולחסום פעולות נוספות עד לאימות מחדש. זמן התגובה הוא מתחת ל-100 אלפיות שנייה. ב-99% מהמקרים, זה מונע גישה לא מורשית.
| שיטת העברה | אורך חיי טוקן | תמיכת scope | טיפול בסשן |
|---|---|---|---|
| Platform Channel (Flutter) | 30 דקות | מלא | אירוע שידור |
| Native Module (React Native) | 30 דקות | מלא | אירוע שידור |
| postMessage (WebView) | 30 דקות | חלקי | אירוע הודעה |
| Scope | נתונים לדוגמה | תדירות בקשה |
|---|---|---|
| profile.basic | שם, תמונת פרופיל | תמיד |
| phone.verified | מספר טלפון | פעם אחת |
| order.history | היסטוריית הזמנות | לפי דרישה |
איך ליישם פרופיל מאוחד ללא דליפות?
תהליך האינטגרציה כולל מספר שלבים:
- ביקורת אבטחה של הארכיטקטורה הנוכחית—זיהוי נקודות חולשה בהעברת טוקנים ואחסון נתונים. לוקח 2–3 ימים, התוצאה היא דוח עם הערכת סיכונים ו-15+ נקודות תורפה פוטנציאליות.
- עיצוב מודל scope—קביעה אילו נתונים כל מיני-תוכנית צריכה. אנו פועלים לפי עקרון ההרשאות המינימליות ומתאימים את המודל למנהלי המוצר שלכם.
- יישום פרופיל מאוחד—הגדרת פרופיל ראשי, יצירת ואימות טוקנים, אינטגרציה עם השרת האחורי שלכם.
- מסכי הסכמה—פיתוח ממשק משתמש לבקשות הרשאה, אחסון וביטול הסכמות.
-
טיפול באירועי סשן—הגדרת ערוץ שידור עבור
session_expiredואירועים אחרים. - בדיקות—בדיקות עומס עם 200+ מיני-תוכניות במקביל, בדיקת חדירות אבטחה.
טעויות נפוצות בפריסה: העברת JWT ראשי במקום טוקן גישה קצר מועד, חוסר בדיקת origin ב-WebView, התעלמות מפגיעות טוקן. בדקו את היישום שלכם מול רשימת הבדיקה הזו—צרו קשר לביקורת אבטחה. יישום פרופיל מאוחד מפחית עלויות תחזוקה ב-25%—בפרויקט טיפוסי החיסכון מגיע ל-$5k–15k. בהשוואה לבניית פתרון משלכם, החיסכון הוא עד 40%.
מה כלול בעבודה (תוצרים)
המהנדסים שלנו מספקים:
- דוח ביקורת ארכיטקטורה והערכת סיכונים (15+ נקודות תורפה פוטנציאליות)
- מסמך עיצוב מודל scope
- יישום פרופיל מאוחד (פרופיל ראשי, יצירת/אימות טוקנים)
- ממשק משתמש למסך הסכמה ולוגיקת ביטול
- טיפול באירועי סשן (ערוץ שידור עבור
session_expired) - תיעוד טכני מלא ומפרטי API
- סדנת הדרכה לצוות של יומיים
- תמיכה של 30 יום לאחר ההשקה
- גישה לפאנל ניהול לניהול פרופילים אנו מבטיחים אבטחה ברמת תקני App Store ו-Google Play, הגנה על נתונים אישיים וסקלביליות.
ציר זמן ועלות
פרופיל מאוחד + מנגנון העברת טוקנים מאובטח + מסכי הסכמה + טיפול באירועי סשן—מ-3 עד 5 שבועות. העלות מחושבת באופן אישי, בדרך כלל נעה בין $4k–12k עבור 5 מיני-תוכניות. קבלו ייעוץ לפרויקט שלכם—צרו קשר להערכת עלות.







