תחילת העבודה עם App Check עם reCAPTCHA Enterprise בפלטפורמות של אפל

בחירת פלטפורמה: iOS+‎ Android אינטרנט Flutter


בדף הזה מוסבר איך להגדיר את App Check באפליקציה לפלטפורמות של אפל באמצעות הספק reCAPTCHA Enterprise. ‫App Check עוזר לוודא שרק האפליקציה שלכם יכולה לגשת למשאבי הקצה העורפי של הפרויקט. מידע נוסף זמין בסקירה הכללית של App Check.

כדי להשתמש ב-App Check צריך להשתמש במפתחות reCAPTCHA מבוססי-ניקוד, ולכן המשתמשים לא רואים אותו. המשמעות היא שספק reCAPTCHA Enterprise לא ידרוש מהמשתמשים לפתור אתגר אף פעם.

אם אתם צריכים תכונות של reCAPTCHA Enterprise שלא מוטמעות ב-App Check, או אם אתם רוצים להשתמש ב-App Check עם ספק בהתאמה אישית, קראו את המאמר הטמעה של ספק App Check בהתאמה אישית.

1. הגדרת פרויקט Firebase

  1. אם עדיין לא הוספתם את Firebase לפרויקט Apple, אתם צריכים להוסיף אותו.

  2. במסוף Google Cloud, נכנסים לדף Fraud Defense ומבצעים את הפעולות הבאות לספק reCAPTCHA Enterprise:

    1. מוודאים שאתם נמצאים בפרויקט הנכון (בעזרת הכלי לבחירת פרויקטים שבחלק העליון של המסך).

    2. אם מופיעה בקשה, מפעילים את ה-API של reCAPTCHA Enterprise.

    3. יוצרים מפתח מסוג iOS ומציינים את מזהה החבילה של האפליקציה (לדוגמה, com.example.my_app).

      • חשוב להזין את אותו מזהה חבילה שציינתם כשיצרתם את אפליקציית Firebase ל-Apple בפרויקט Firebase. הערך של מזהה החבילה תלוי אותיות רישיות.

      • ב-App Check, כל מזהה חבילה יכול להתאים רק למפתח reCAPTCHA אחד.

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

    4. שימו לב למפתח הזה. צריך להוסיף אותו לתהליך הרישום במסוף Firebase.

  3. במסוף Firebase, נכנסים לקטע Security (אבטחה) > App Check.

  4. בכרטיסייה Apps, רושמים את האפליקציות לפלטפורמות של אפל כדי להשתמש ב-App Check עם הספק reCAPTCHA Enterprise. צריך לספק את המפתח שקיבלת במסוף Google Cloud.

  5. אופציונלי: מגדירים את אורך החיים (TTL) של האסימון.

    בהגדרות הרישום של האפליקציה, מגדירים אורך חיים (TTL) בהתאמה אישית לטוקנים של App Check שהונפקו על ידי הספק. אפשר להגדיר את ה-TTL לכל ערך בין 30 דקות ל-7 ימים. כשמשנים את הערך הזה, חשוב לשים לב לשיקולים הבאים:

    • אבטחה: ערכי TTL קצרים יותר מספקים אבטחה חזקה יותר, כי הם מצמצמים את חלון הזמן שבו תוקף יכול לנצל לרעה אסימון שדלף או יורט.
    • ביצועים: ערכי TTL קצרים יותר פירושם שהאפליקציה תבצע אימות בתדירות גבוהה יותר. תהליך אימות האפליקציה מוסיף זמן אחזור לבקשות לאחזור מהרשת בכל פעם שהוא מתבצע, ולכן TTL קצר יכול להשפיע על ביצועי האפליקציה.
    • מכסות ועלויות: ערכי TTL קצרים יותר ואימות חוזר בתדירות גבוהה יותר מנצלים את המכסה מהר יותר, ובשירותים בתשלום, עלולים לעלות יותר. מידע נוסף על מכסות ומגבלות

    ברירת המחדל של TTL, שהיא שעה אחת, מתאימה לרוב האפליקציות. שימו לב שהספרייה App Check מרעננת טוקנים בערך בחצי ממשך ה-TTL.

  6. אופציונלי: קובעים הגדרות מתקדמות.

  7. לוחצים על שמירה.

(אופציונלי) קביעת הגדרות מתקדמות

כשמשתמש פותח את האפליקציה, reCAPTCHA Enterprise מעריך את רמת הסיכון של האינטראקציה של המשתמש במפתח, ומחזיר ציון בין 0.0 ל-1.0, במרווחים של 0.1.

  • ציון של 0.0 מציין שהאינטראקציה מהווה סיכון גבוה ויכול להיות שמקורה בתרמית.
  • ציון של 1.0 מציין שהאינטראקציה היא בסיכון נמוך וסביר מאוד שהיא לגיטימית.

ב-App Check אתם יכולים להגדיר סף סיכון לאפליקציה כדי להתאים את הסבילות שלכם לסיכון הזה.

ברוב המקרים, מומלץ להשתמש בערך הסף שמוגדר כברירת מחדל, 0.5. אם תרצו לשנות את הערך הזה, תוכלו להגדיר אותו לכל אחת מהאפליקציות במסוף Firebase (עוברים אל אבטחה > App Check). חשוב להרחיב את הקטע שיקולים חשובים לגבי הגדרת סף הסיכון של האפליקציה שבהמשך ולקרוא אותו.

2. מוסיפים את ה-SDK של App Check לאפליקציה

אתם יכולים להשתמש ב-Swift Package Manager ‏ (SPM) כדי להתקין ולנהל את יחסי התלות של Firebase. אם אתם כבר משתמשים ב-Firebase, ודאו שחבילת Firebase היא מגרסה 12.17.0 ואילך.

  1. ב-Xcode, פותחים את פרויקט האפליקציה.

  2. מוסיפים את ספריית Firebase:

    1. עוברים אל File > Add Packages (קובץ > הוספת חבילות).

    2. כשמוצגת בקשה, מוסיפים את מאגר ה-SDK של Firebase לפלטפורמות של אפל:

      https://github.com/firebase/firebase-ios-sdk
      
    3. בוחרים את הגרסה העדכנית ביותר של ה-SDK (גרסה 12.17.0 ואילך).

    4. בוחרים את הספרייה FirebaseAppCheck.

    5. לוחצים על הוספת חבילה. פלטפורמת Xcode תטפל ביחסי התלות ותוריד אותם.

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

  3. מוסיפים את ספריית reCAPTCHA Enterprise:

    1. חוזרים אל File > Add Packages (קובץ > הוספת חבילות).

    2. כשמופיעה בקשה, מוסיפים את מאגר ה-SDK של reCAPTCHA Enterprise:

      https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdk
      
    3. בוחרים את הספרייה RecaptchaEnterprise.

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

3. מפעילים את App Check

באפליקציה, צריך להפעיל את App Check לפני שמשתמשים בשירותים אחרים של Firebase.

יוצרים מופע של RecaptchaProviderFactory, מעבירים את המפתח reCAPTCHA ומגדירים את App Check כך שישתמש בו:

let providerFactory = RecaptchaProviderFactory(siteKey: "SITE_KEY")
AppCheck.setAppCheckProviderFactory(providerFactory)

FirebaseApp.configure()

4. מעקב אחרי מדדים והפעלת אכיפה

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

אפליקציית הלקוח המעודכנת תתחיל לשלוח אסימוני App Check עם כל בקשה שהיא שולחת ל-Firebase. עם זאת, App Check לא יחסום בקשות עם אסימונים לא חוקיים עד לאכיפה של App Check.

מעקב אחרי מדדים

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

כדי להחליט, אתם יכולים לבדוק את המדדים של App Check בשירותים שבהם אתם משתמשים:

הפעלת האכיפה של App Check

אחרי שתבינו איך App Check ישפיע על המשתמשים שלכם ותהיו מוכנים להמשיך, תוכלו להפעיל את האכיפה של App Check:

שימוש ב-App Check בסביבות ניפוי באגים

App Check מסווג סביבות מסוימות כלא חוקיות, כמו בקשות מאמולטור או מסימולטור במהלך הפיתוח או מסביבת אינטגרציה רציפה (CI).

כדי להריץ את האפליקציה בסביבות כאלה אחרי ש-App Check נאכף, צריך ליצור גרסת build לניפוי באגים של האפליקציה שמשתמשת בApp Check ספק אימות לצורכי ניפוי באגים במקום בספק אימות לסביבת ייצור.

לפרטים נוספים, ראו שימוש ב-App Check עם ספק אימות לצורכי ניפוי באגים בפלטפורמות של אפל.

תמחור

‫App Check יוצר הערכה בשבילכם כדי לאמת את אסימון התגובה של המשתמש בכל פעם שהאפליקציה מרעננת את אסימון App Check שלה. הפרויקט ב-Firebase יחויב על כל הערכה שנוצרה מעבר למכסה החינמית. לפרטים נוספים, ראו התמחור של reCAPTCHA.

כברירת מחדל, האפליקציה תרענן את הטוקן הזה פעמיים בכל שעה. כדי לקבוע באיזו תדירות האפליקציה מרעננת את הטוקנים של App Check (וכך גם באיזו תדירות נוצרות הערכות חדשות), אתם יכולים להגדיר את משך החיים (TTL) של הטוקן.