בדף הזה מוסבר איך להפעיל את 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, צריך לעשות את זה.
- יוצרים מפתח מסוג אתר. עליך לציין דומיינים שבהם שאתם מארחים את אפליקציית האינטרנט שלכם. משאירים את האפשרות 'שימוש באתגר תיבות הסימון' אפשרות לא נבחר.
כדי לרשום את האפליקציות לשימוש ב-App Check אצל ספק reCAPTCHA Enterprise, עוברים לקטע App Check במסוף Firebase. תצטרכו לספק את מפתח האתר שקיבלתם בשלב הקודם.
בדרך כלל צריך לרשום את כל האפליקציות בפרויקט, כי אחרי שמפעילים אכיפה למוצר של Firebase, רק אפליקציות רשומות יכולות לגשת למשאבי הקצה העורפי של המוצר.
אופציונלי: בהגדרות הרישום של האפליקציה, קובעים את אורך חיי המשתמש (TTL) ל-App Check אסימונים שהונפקו על ידי הספק. אפשר להגדיר את TTL לכל ערך בין 30 דקות ל-7 ימים. כשמשנים את הערך הזה, חשוב לזכור את הפשרות הבאות:
- אבטחה: זמן חיים קצר יותר של אסימון מספק אבטחה חזקה יותר, כי הוא מצמצם את החלון שבו תוקף יכול לנצל לרעה אסימון שדלף או נתפס.
- ביצועים: אורך חיים קצר יותר פירושו שהאפליקציה תבצע יותר אימות לעיתים קרובות. כי תהליך אימות האפליקציה מאריך את זמן האחזור לרשת בכל פעם שהיא מתבצעת, 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, Firebase Data Connect (בטא), Authentication (בטא) ו-Vertex AI in Firebase (בטא).
- מעקב אחר מדדי הבקשות של App Check עבור Cloud Functions.
הפעלת האכיפה של App Check
אחרי שברור לך איך App Check ישפיע על המשתמשים שלך, והכול מוכן אפשר להמשיך, אפשר להפעיל את האכיפה של App Check:
- הפעלת האכיפה של App Check לגבי Realtime Database, Cloud Firestore, Cloud Storage, Firebase Data Connect (תצוגה מקדימה), Authentication (בטא) ו-Vertex AI in Firebase (תצוגה מקדימה).
- הפעלת אכיפה של App Check עבור Cloud Functions.
שימוש ב-App Check בסביבות ניפוי באגים
אם אחרי הרשמת האפליקציה ל-App Check, אתם רוצים להריץ אותה בסביבה שבדרך כלל App Check לא מסווגת כתקינה, למשל בסביבה המקומית במהלך הפיתוח או מסביבת שילוב רצוף (CI), תוכלו ליצור גרסה לניפוי באגים של האפליקציה שמשתמשת בספק ניפוי הבאגים של App Check במקום בספק אימות אמיתי.
מידע נוסף זמין במאמר שימוש ב-App Check עם ספק ניפוי הבאגים באפליקציות אינטרנט.
הערה לגבי עלות
App Check יוצר הערכה בשמך כדי לאמת את אסימון תגובה בכל פעם שדפדפן שמפעיל את אפליקציית האינטרנט מרענן את אסימון App Check. הפרויקט שלכם יחויב על כל הערכה שנוצרת מעבר למכסה ללא עלות. פרטים נוספים זמינים במאמר תמחור של reCAPTCHA.
כברירת מחדל, אפליקציית האינטרנט תרענן את האסימון הזה פעמיים בכל שעה. שפת תרגום קובעת באיזו תדירות האפליקציה שלך תרענן את האסימונים של App Check (וכתוצאה מכך הערכות חדשות נוצרות לעיתים קרובות), להגדיר את ה-TTL שלהם.