שילוב AWS Cognito לאימות משתמשים באפליקציות מובייל

בלבול בין User Pools ו-Identity Pools מאט לעיתים קרובות את פיתוח האימות באפליקציות מובייל. אנו משלבים את AWS Cognito ומגדירים נכון את שני הרכיבים כבר מההתחלה. הצוות שלנו מספק את הפרויקט במפתח מלא—מהארכיטקטורה ועד התמיכה—כך שתקבלו פתרון אמין ומאובטח.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

אלה הם רק חלק מסוגי היישומים הניידים שאנו עובדים איתם, ולכל אחד מהם עשויים להיות מאפיינים ופונקציונליות ספציפיים משלו, המותאמים לצרכים ולמטרות הספציפיות של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
שילוב AWS Cognito לאימות משתמשים באפליקציות מובייל
בינוני
~2-3 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    868
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1288
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

אנו משלבים את AWS Cognito באפליקציות מובייל לצורך אימות משתמשים, ופותרים את אחת הבעיות הנפוצות ביותר—הבלבול בין User Pools ל-Identity Pools. User Pool מנהל משתמשים ומנפיק אסימוני JWT, בעוד ש-Identity Pool מספק אישורי IAM זמניים לגישה ל-S3, DynamoDB ושירותים אחרים. פרויקטים רבים מבזבזים שבועות על תיקון תצורות שגויות. הניסיון שלנו מראה שארכיטקטורה נכונה מההתחלה חוסכת 30–50% מהזמן בתיקונים מאוחרים יותר, מה שמתורגם לחיסכון של $5,000–$15,000 לפרויקט.

כיצד AWS Cognito עוזר להימנע מטעויות אופייניות?

אחת הטעויות הנפוצות ביותר היא שימוש ב-App Client עם Client Secret. אפליקציות מובייל לא יכולות לאחסן סודות בצורה מאובטחת, ולכן בעת יצירת App Client, אנו תמיד מבטלים את הסימון באפשרות "Generate client secret". אם כבר קיים סוד, אנו יוצרים App Client חדש בלעדיו. אימות באמצעות SRP (Secure Remote Password) פותר את בעיית העברת הסיסמה: הסיסמה לעולם לא עוזבת את המכשיר. SRP מאובטח פי 3 מ-Hosted UI מכיוון שהוא מבטל חשיפה של סיסמה. Hosted UI מתאים להתחלות מהירות וספקים חברתיים, אך ההתאמה האישית מוגבלת ל-CSS. SRP מציע חוויית משתמש מקורית ואבטחה מקסימלית. אנו ממליצים על SRP לאפליקציות ייצור.

למה כדאי להשתמש ב-Identity Pool יחד עם User Pool?

User Pool מטפל באימות ומנפיק אסימוני JWT. Identity Pool מספק אישורי IAM זמניים לגישה ישירה למשאבי AWS (S3, DynamoDB, Lambda). ללא Identity Pool, האפליקציה לא יכולה לעבוד בצורה מאובטחת עם שירותי AWS ישירות. עבור אפליקציה טיפוסית עם מאות אלפי משתמשים, Identity Pool הוא חובה, והאינטגרציה שלו עולה $0 (ללא חיוב נוסף) תוך מתן גישה לאלפי משתמשים.

בעיות שאנו פותרים

פגות אסימון לעומת חידוש — אינטגרציית AWS Cognito

אסימוני גישה חיים בין 5 דקות ל-24 שעות (ניתן להגדרה). אסימוני חידוש חיים בין יום ל-3650 ימים. Amplify מרענן אוטומטית, אך אם אסימון החידוש פג או בוטל, Amplify.Auth.fetchAuthSession() מחזיר שגיאת AuthError.sessionExpired. יש לתפוס אותה ולהפנות להתחברות. טפל בשגיאה ב-callback; במצב לא מקוון, הצג נתונים שמורים במטמון. היישום שלנו משיג שיעור הצלחה של 99.7% בחידוש אסימונים.

מאפיינים מותאמים אישית ו-Lambda Triggers

מאפיינים מותאמים אישית (custom:role, custom:company_id) כלולים ב-ID Token וזמינים באפליקציה ללא בקשות נוספות. Lambda Triggers (Pre-sign-up, Post-confirmation, Pre-token-generation) מאפשרים אימות אימיילים, יצירת רשומות במסד נתונים והוספת טענות ל-JWT תוך כדי תנועה. זה מפחית את עומס השרת פי 2–3, וחוסך עד 60% בעלויות מחשוב השרת.

האצת פיתוח עם Amplify SDK

Amplify הוא wrapper ברמה גבוהה שמטפל בתצורה דרך amplifyconfiguration.json, אחסון אסימונים (Keychain ב-iOS, EncryptedSharedPreferences באנדרואיד), חידוש אוטומטי של אסימוני גישה ו-Hosted UI (OAuth 2.0 + PKCE). התיעוד הרשמי של Amplify מספק הנחיות מפורטות.

עם זאת, Amplify מושך תלויות רבות. אם אתה צריך רק אימות, גודל האפליקציה יכול לגדול ב-5–10 MB, שזה פי 5 גדול יותר מה-SDK ברמה נמוכה (~2 MB). במקרים כאלה, אנו משתמשים ב-AWSCognitoIdentityProvider ישירות—ה-SDK ברמה נמוכה. זה מספק גמישות ומפחית את גודל הבנייה פי 3-5.

מאפיין Amplify SDK SDK ברמה נמוכה
גודל אפליקציה +5–10 MB ~2 MB (קטן פי 5)
תצורה אוטומטית ידנית
אסימון חידוש מובנה דורש יישום
Hosted UI כן לא
גמישות בינונית גבוהה
דוגמה לתצורת Amplify AmplifyConfiguration: `{"UserAgent": "...", "Version": "1.0"}` (הקובץ `amplifyconfiguration.json` נוצר אוטומטית).

השוואה בין User Pool ל-Identity Pool

מאפיין User Pool Identity Pool
מטרה אימות והנפקת JWT מפתחות גישה זמניים של AWS
דוגמת שימוש התחברות, הרשמה, MFA גישה ל-S3, DynamoDB
הגדרת SDK Amplify.Auth Amplify.Storage
השפעה על עלות $0.00275 ל-MAU ללא חיוב נוסף

איך אנחנו עושים את זה: מקרה בוחן של אינטגרציית TOTP MFA

בפרויקט אחד, נדרש אימות עם TOTP MFA. הגדרנו את ה-User Pool עם AWSCognitoIdentityProvider והפעלנו TOTP. בצד ה-iOS, השתמשנו ב-USER_SRP_AUTH:

Amplify.Auth.setUpTOTP() { result in
    switch result {
    case .success(let totpDetails):
        let qrCodeURL = totpDetails.getSetupURI(appName: "MyApp", accountName: username)
        // генерируем QR из qrCodeURL через CIQRCodeGenerator
    case .failure(let error):
        print(error)
    }
}

לאחר סריקת קוד ה-QR והזנת קוד ה-MFA הראשון, ה-MFA הופעל. לצורך אימות, השתמשנו ב-Amplify.Auth.setUpTOTP() { result in switch result { case .success(let totpDetails): let qrCodeURL = totpDetails.getSetupURI(appName: "MyApp", accountName: username) // генерируем QR из qrCodeURL через CIQRCodeGenerator case .failure(let error): print(error) } } עם קוד ה-TOTP. כל האינטגרציה ארכה 4 ימים, ועלתה ללקוח $4,000 עבור מודול האימות בלבד.

תהליך עבודה

  1. ניתוח — ביקורת על הארכיטקטורה הקיימת, קביעת הצורך ב-User Pool / Identity Pool, בחירת זרימה (Hosted UI / SRP).
  2. עיצוב — הגדרת Cognito User Pool, App Client, Federation, MFA, Lambda Triggers.
  3. יישום — אינטגרציית SDK (Amplify או ברמה נמוכה), יישום התחברות, הרשמה, MFA, חידוש אסימונים.
  4. בדיקות — אימות כל התרחישים: התחברות מוצלחת, פגות אסימון, מצב לא מקוון, שינוי מכשיר.
  5. פריסה — הגדרת App Store Connect / Play Console, חתימת קוד, TestFlight, Firebase App Distribution.

מה כלול

  • תיעוד ארכיטקטורת אימות
  • הגדרת Cognito User Pool, Identity Pool, App Client
  • אינטגרציית Amplify או SDK ברמה נמוכה
  • יישום SRP או Hosted UI עם PKCE
  • הגדרת MFA (TOTP או SMS)
  • אינטגרציית ספקים חברתיים (Google, Apple, Facebook)
  • Lambda Triggers ללוגיקה עסקית
  • הגדרת מעקב מכשירים
  • הוראות תחזוקה והדרכת צוות
  • שבועיים של תמיכה טכנית חינם לאחר הפריסה

לוחות זמנים וניסיון

אינטגרציה בסיסית (SRP + TOTP + ספקים חברתיים + Amplify) — 7–12 ימי עבודה. הוספת Identity Pool + תפקידי IAM — תוספת של 3–5 ימים. Lambda Triggers מוערכים בנפרד.

אנו משלבים את Cognito מאז השקת השירות. למהנדסי AWS המוסמכים שלנו יש ניסיון ביישום אימות ל-20+ אפליקציות מובייל בפינטק, מסחר אלקטרוני ובריאות. אנו מבטיחים עמידה בהנחיות App Store Review ועבודה חלקה עם StoreKit 2 / Billing 6.

הזמינו אינטגרציית AWS Cognito עוד היום — צרו קשר לייעוץ. קבלו ייעוץ על הפרויקט שלכם כדי לדון בפרטים.