| בחירת פלטפורמה: | iOS+ Android Web Flutter |
בדף הזה מוסבר איך להגדיר את App Check באפליקציה לפלטפורמות של אפל באמצעות ספק reCAPTCHA Enterprise. App Check עוזרת לוודא שרק האפליקציה שלכם יכולה לגשת למשאבי הקצה העורפי של הפרויקט. מידע נוסף זמין בסקירה הכללית של App Check.
App Check דורש שימוש במפתחות מבוססי ניקוד reCAPTCHA, ולכן הוא לא גלוי למשתמשים. המשמעות היא שספק reCAPTCHA Enterprise לא יבקש מהמשתמשים לפתור אתגר בשום שלב.
אם תרחיש השימוש שלכם דורש תכונות של reCAPTCHA Enterprise שלא מיושמות על ידי App Check, או אם אתם רוצים להשתמש ב-App Check עם ספק מותאם אישית משלכם, כדאי לעיין במאמר בנושא הטמעה של ספק App Check מותאם אישית.
1. הגדרת פרויקט Firebase
אם עדיין לא הוספתם את Firebase לפרויקט Apple, אתם צריכים להוסיף אותו.
במסוף Google Cloud, עוברים לדף Fraud Defense ומבצעים את הפעולות הבאות עבור הספק reCAPTCHA Enterprise:
מוודאים שאתם נמצאים בפרויקט הנכון (אפשר לראות את בורר הפרויקטים בחלק העליון של המסך).
אם מופיעה בקשה, מפעילים את ה-API של reCAPTCHA Enterprise.
יוצרים מפתח מסוג iOS ומציינים את מזהה החבילה של האפליקציה (לדוגמה,
com.example.my_app).חשוב לוודא שהזנתם את אותו מזהה חבילה שסיפקתם כשבניתם את אפליקציית Firebase לאפל בפרויקט Firebase. הערך של מזהה החבילה הוא תלוי אותיות רישיות.
במקרה של App Check, כל מזהה חבילה יכול להתאים רק למפתח reCAPTCHA אחד.
הוראות מפורטות זמינות במאמר בנושא יצירת מפתחות reCAPTCHA שמבוססים על ניקוד.
רושמים בצד את המפתח הזה. צריך להוסיף אותו לתהליך ההרשמה במסוף Firebase.
במסוף Firebase, עוברים אל Security (אבטחה) > App Check (בדיקת אפליקציות).
בכרטיסייה Apps (אפליקציות), רושמים את האפליקציות שלכם לפלטפורמת Apple כדי להשתמש ב-App Check עם הספק reCAPTCHA Enterprise. תצטרכו לספק את המפתח שקיבלתם במסוף Google Cloud.
אופציונלי: מגדירים את אורך החיים (TTL) של האסימון.
בהגדרות רישום האפליקציה, מגדירים אורך חיים (TTL) מותאם אישית לטוקנים של App Check שהונפקו על ידי הספק. אפשר להגדיר את ה-TTL לכל ערך בין 30 דקות ל-7 ימים. כשמשנים את הערך הזה, חשוב לשים לב לשיקולים הבאים:
- אבטחה: ערכי TTL קצרים יותר מספקים אבטחה חזקה יותר, כי הם מצמצמים את חלון הזמן שבו תוקף יכול לנצל לרעה אסימון שדלף או נחטף.
- ביצועים: ערכי TTL קצרים יותר אומרים שהאפליקציה תבצע אימות בתדירות גבוהה יותר. תהליך אימות האפליקציה מוסיף זמן אחזור לבקשות רשת בכל פעם שהוא מתבצע, ולכן ערך TTL קצר יכול להשפיע על ביצועי האפליקציה.
- מכסת השימוש והעלות: ערכי TTL קצרים ואימות חוזר תכוף מרוקנים את מכסת השימוש מהר יותר, ובשירותים בתשלום, עלולים לייקר את העלות. מידע נוסף זמין במאמר מכסות ומגבלות.
ערך ברירת המחדל של TTL הוא שעה אחת, וזה ערך סביר לרוב האפליקציות. הערה: ספריית App Check מרעננת את האסימונים בערך במחצית משך ה-TTL.
אופציונלי: מגדירים הגדרות מתקדמות.
לוחצים על שמירה.
(אופציונלי) הגדרת הגדרות מתקדמות
כשמשתמש פותח את האפליקציה, reCAPTCHA Enterprise מעריך את רמת הסיכון שהאינטראקציה של המשתמש מייצגת בהתאם למפתח, ומחזיר ציון בין 0.0 ל-1.0, במרווחים של 0.1.
- ציון של 0.0 מציין שהאינטראקציה מהווה סיכון גבוה ויכול להיות שהיא הונאה.
- ציון של 1.0 מציין שהאינטראקציה מהווה סיכון נמוך, וסביר מאוד שהיא לגיטימית.
App Check מאפשר לכם להגדיר סף סיכון לאפליקציה כדי שתוכלו להתאים את הסבילות שלכם לסיכון הזה.
ברוב תרחישי השימוש, מומלץ להשתמש בערך הסף שמוגדר כברירת מחדל, 0.5. אם תרצו לשנות את הערך הזה בהתאם לתרחיש השימוש שלכם, תוכלו להגדיר אותו לכל אחת מהאפליקציות שלכם במסוף Firebase (נכנסים אל אבטחה > App Check). חשוב להרחיב את השיקולים החשובים לגבי הגדרת סף הסיכון של האפליקציה שבהמשך ולעיין בהם.
2. הוספת App Check SDK לאפליקציה
משתמשים ב-Swift Package Manager (SPM) כדי להתקין ולנהל יחסי תלות ב-Firebase. אם אתם כבר משתמשים ב-Firebase, צריך לוודא שחבילת Firebase שלכם היא מגרסה 12.17.0 ואילך.
ב-Xcode, פותחים את פרויקט האפליקציה.
מוסיפים את ספריית Firebase:
עוברים אל File > Add Packages (קובץ > הוספת חבילות).
כשמוצגת בקשה, מוסיפים את מאגר Firebase Apple platforms SDK:
https://github.com/firebase/firebase-ios-sdkבוחרים בגרסה העדכנית ביותר של SDK (גרסה 12.17.0 ואילך).
בוחרים בספרייה
FirebaseAppCheck.לוחצים על הוספת חבילה. פלטפורמת Xcode תטפל ביחסי התלות ותוריד אותם.
כשמוצגת בקשה לעשות את זה, מוסיפים את הספרייה ליעד האפליקציה.
מוסיפים את ספריית reCAPTCHA Enterprise:
חוזרים אל File > Add Packages (קובץ > הוספת חבילות).
כשמופיעה בקשה, מוסיפים את מאגר reCAPTCHA Enterprise SDK:
https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdkבוחרים בספרייה
RecaptchaEnterprise.לוחצים על הוספת חבילה. כשמוצגת בקשה לעשות את זה, מוסיפים את הספרייה ליעד האפליקציה.
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 עבור Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API ו-Places API (חדש).
- מעקב אחרי מדדי בקשות של App Check עבור Cloud Functions.
הפעלת האכיפה של App Check
אחרי שתבינו איך App Check ישפיע על המשתמשים שלכם ותהיו מוכנים להמשיך, תוכלו להפעיל את האכיפה של App Check:
- הפעלת האכיפה של App Check עבור Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API ו-Places API (חדש).
- הפעלת אכיפה של App Check עבור Cloud Functions.
שימוש ב-App Check בסביבות ניפוי באגים
App Check מסווגת סביבות מסוימות כלא תקינות, כמו בקשות מאמולטור או מסימולטור במהלך פיתוח או מסביבת אינטגרציה רציפה (CI).
כדי להריץ את האפליקציה בסביבות מהסוגים האלה אחרי שאמצעי האכיפה של App Check יופעלו, תצטרכו ליצור גרסת ניפוי באגים של האפליקציה שמשתמשת בApp Check ספק ניפוי באגים במקום בספק אימות ייצור.
פרטים נוספים זמינים במאמר בנושא שימוש ב-App Check עם ספק אימות לצורכי ניפוי באגים בפלטפורמות של אפל.
תמחור
App Check יוצרת הערכה בשמכם כדי לאמת את טוקן התגובה של המשתמש בכל פעם שהאפליקציה מרעננת את הטוקן של App Check. החיוב על כל הערכה שתיצרו מעבר למכסת השימוש ללא עלות יופיע בפרויקט Firebase. פרטים נוספים מופיעים בקטע reCAPTCHAתמחור.
כברירת מחדל, האפליקציה תרענן את הטוקן הזה פעמיים בכל שעה. כדי לשלוט בתדירות שבה האפליקציה מרעננת את אסימוני App Check (ובכך בתדירות שבה נוצרים הערכות חדשות), אתם יכולים להגדיר את ה-TTL של האסימון.