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

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

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

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

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

  1. מוסיפים את Firebase לפרויקט JavaScript, אם עדיין לא עשיתם זאת.

  2. פותחים את הקטע reCAPTCHA Enterprise במסוף Cloud ומבצעים את הפעולות הבאות:

    1. אם מופיעה בקשה להפעיל את reCAPTCHA Enterprise API, מבצעים זאת.
    2. יוצרים מפתח מסוג אתר. תצטרכו לציין את הדומיינים שבהם אתם מארחים את אפליקציית האינטרנט. לא מסמנים את האפשרות 'שימוש באתגר של תיבת סימון'.
  3. כדי לרשום את האפליקציות לשימוש ב-App Check אצל ספק reCAPTCHA Enterprise, עוברים לקטע App Check במסוף Firebase. תצטרכו לספק את מפתח האתר שקיבלתם בשלב הקודם.

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

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

    • אבטחה: זמן חיים קצר יותר של אסימון מספק אבטחה חזקה יותר, כי הוא מצמצם את החלון שבו תוקף יכול לנצל לרעה אסימון שדלף או נתפס.
    • ביצועים: ככל שזמן החיים של התגים קצר יותר, כך האפליקציה תבצע אימות בתדירות גבוהה יותר. תהליך האימות של האפליקציה מוסיף זמן אחזור לבקשות הרשת בכל פעם שהוא מתבצע, ולכן TTL קצר יכול להשפיע על הביצועים של האפליקציה.
    • מכסה ועלות: 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

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

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

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

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

הערה לגבי עלות

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

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