בדף הזה מוסבר איך להפעיל את App Check באפליקציית אינטרנט באמצעות הספק reCAPTCHA Enterprise. הפעלת App Check עוזרת לוודא שרק לאפליקציה שלכם תהיה גישה למשאבי Firebase של הפרויקט. סקירה כללית על התכונה הזו
שימו לב שב-App Check נעשה שימוש במפתחות אתר מבוססי-ציון של reCAPTCHA Enterprise, ולכן הוא לא גלוי למשתמשים. ספק reCAPTCHA Enterprise לא ידרוש מהמשתמשים לפתור אתגר בשום שלב.
כדי להשתמש ב-App Check עם ספק מותאם אישית, קראו את המאמר הטמעה של ספק App Check בהתאמה אישית.
1. הגדרת פרויקט Firebase
מוסיפים את Firebase לפרויקט JavaScript, אם עדיין לא עשיתם זאת.
פותחים את הקטע reCAPTCHA Enterprise במסוף Cloud ומבצעים את הפעולות הבאות:
- אם מופיעה בקשה להפעיל את reCAPTCHA Enterprise API, מבצעים זאת.
- יוצרים מפתח מסוג אתר. אתם צריכים לציין את הדומיינים שבהם אתם מארחים את אפליקציית האינטרנט שלכם. משאירים את האפשרות Use Box installation (שימוש באתגר תיבות הסימון) לא מסומנת.
כדי לרשום את האפליקציות לשימוש ב-App Check אצל ספק reCAPTCHA Enterprise, עוברים לקטע App Check במסוף Firebase. תצטרכו לספק את מפתח האתר שקיבלתם בשלב הקודם.
בדרך כלל צריך לרשום את כל האפליקציות בפרויקט, כי אחרי שמפעילים אכיפה למוצר של Firebase, רק אפליקציות רשומות יכולות לגשת למשאבי הקצה העורפי של המוצר.
אופציונלי: בהגדרות של רישום האפליקציה, מגדירים אורך חיים (TTL) בהתאמה אישית לאסימוני App Check שהונפקו על ידי הספק. אפשר להגדיר את TTL לכל ערך בין 30 דקות ל-7 ימים. כשמשנים את הערך הזה, חשוב לשים לב לחסרונות הבאים:
- אבטחה: אורך חיים קצר יותר מספק אבטחה חזקה יותר, כי הוא מצמצם את חלון הזמן שבו תוקפים יכולים לנצל לרעה אסימון שדלף או מיירט.
- ביצועים: אורך חיים קצר יותר פירושו שהאפליקציה תבצע אימות (attestation) בתדירות גבוהה יותר. תהליך האימות של האפליקציה מוסיף זמן אחזור לבקשות הרשת בכל פעם שהוא מתבצע, ולכן TTL קצר יכול להשפיע על הביצועים של האפליקציה.
- מכסה ועלות: משך זמן קצר יותר ואימות מחדש תכוף ממצים את המכסה מהר יותר. בשירותים בתשלום, העלות עשויה להיות גבוהה יותר. מידע נוסף זמין במאמר מכסות ומגבלות.
ברירת המחדל של TTL היא שעה אחת, והיא מתאימה לרוב האפליקציות. חשוב לזכור שהספרייה App Check מרעננת את האסימונים בערך במחצית משך ה-TTL.
2. הוספה של הספרייה App Check לאפליקציה
מוסיפים את Firebase לאפליקציית האינטרנט, אם עוד לא עשיתם זאת. חשוב לייבא את הספרייה App Check.
3. אתחול של App Check
צריך להוסיף לאפליקציה את קוד האתחול הבא, לפני שנכנסים לשירותי Firebase. צריך להעביר את מפתח האתר של reCAPTCHA Enterprise שיצרתם במסוף Cloud אל activate()
.
Web
import { initializeApp } from "firebase/app"; import { initializeAppCheck, ReCaptchaEnterpriseProvider } from "firebase/app-check"; const app = initializeApp({ // Your Firebase configuration object. }); // Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise // site key and pass it to initializeAppCheck(). const appCheck = initializeAppCheck(app, { provider: new ReCaptchaEnterpriseProvider(/* reCAPTCHA Enterprise site key */), isTokenAutoRefreshEnabled: true // Set to true to allow auto-refresh. });
Web
firebase.initializeApp({ // Your Firebase configuration object. }); // Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise // site key and pass it to activate(). const appCheck = firebase.appCheck(); appCheck.activate( new firebase.appCheck.ReCaptchaEnterpriseProvider( /* reCAPTCHA Enterprise site key */ ), true // Set to true to allow auto-refresh. );
השלבים הבאים
אחרי שהספרייה App Check תותקן באפליקציה, צריך לפרוס אותה.
אפליקציית הלקוח המעודכנת תתחיל לשלוח אסימוני App Check יחד עם כל בקשה שהיא שולחת ל-Firebase, אבל מוצרי Firebase לא ידרשו שהאסימונים יהיו תקפים עד שתפעילו את האכיפה בקטע App Check במסוף Firebase.
מעקב אחרי המדדים והפעלת האכיפה
עם זאת, לפני שמפעילים את האכיפה, חשוב לוודא שהפעולה הזו לא תפריע למשתמשים החוקיים הקיימים. לעומת זאת, אם אתם רואים שימוש חשוד במשאבי האפליקציה, מומלץ להפעיל את האכיפה מוקדם יותר.
כדי לעזור בקבלת ההחלטה הזו, אפשר לעיין במדדים של App Check לגבי השירותים שבהם אתם משתמשים:
- מעקב אחרי מדדי הבקשות App Check של Realtime Database, Cloud Firestore, Cloud Storage, Authentication (בטא) ו-Vertex AI in Firebase.
- מעקב אחרי מדדי הבקשות App Check של Cloud Functions.
הפעלת אכיפה של App Check
אחרי שתבין איך App Check ישפיע על המשתמשים שלך ותהיה מוכן להמשיך, אפשר להפעיל את האכיפה של App Check:
- הפעלת האכיפה של App Check ל-Realtime Database, ל-Cloud Firestore, ל-Cloud Storage, ל-Authentication (בטא) ול-Vertex AI in Firebase.
- מפעילים את אכיפת App Check עבור Cloud Functions.
שימוש ב-App Check בסביבות ניפוי באגים
אחרי שרושמים את האפליקציה ל-App Check רוצים להריץ את האפליקציה בסביבה שבדרך כלל App Check לא מסווגת כתקינה, כמו מקומית בזמן פיתוח או מסביבת אינטגרציה רציפה (CI), אפשר ליצור גרסת build לניפוי באגים של האפליקציה שמשתמשת בספק ניפוי הבאגים App Check במקום בספק אימות אמיתי.
כדאי לעיין בקטע שימוש ב-App Check עם ספק ניפוי הבאגים באפליקציות אינטרנט.
הערה לגבי עלות
App Check יוצר בשבילכם הערכה כדי לאמת את אסימון התגובה של המשתמש בכל פעם שדפדפן שמפעיל את אפליקציית האינטרנט מרענן את האסימון App Check שלו. נחייב את הפרויקט על כל הערכה שנוצרה מעבר למכסה ללא עלות. למידע נוסף, ראו תמחור ReCAPTCHA.
כברירת מחדל, האסימון הזה יתעדכן פעמיים בכל שעה באפליקציית האינטרנט. כדי לקבוע את התדירות שבה האפליקציה מעדכנת את האסימונים מסוג App Check (וכך את התדירות שבה נוצרות הערכות חדשות), צריך להגדיר את אורך החיים שלהם.