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

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

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

לפני שמתחילים

1. הוספת ספריית App Check לאפליקציה

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

2. יצירת אובייקט של ספק App Check

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

Web

import { CustomProvider } from "firebase/app-check";

const appCheckCustomProvider = new CustomProvider({
  getToken: () => {
    return new Promise((resolve, _reject) => {
      // TODO: Logic to exchange proof of authenticity for an App Check token and
      // expiration time.

      // ...

      const appCheckToken = {
        token: tokenFromServer,
        expireTimeMillis: expirationFromServer * 1000
      };

      resolve(appCheckToken);
    });
  }
});

Web

const appCheckCustomProvider = {
  getToken: () => {
    return new Promise((resolve, _reject) => {
      // TODO: Logic to exchange proof of authenticity for an App Check token and
      // expiration time.

      // ...

      const appCheckToken = {
        token: tokenFromServer,
        expireTimeMillis: expirationFromServer * 1000
      };

      resolve(appCheckToken);
    });
  }
};

3. אתחול App Check

מוסיפים את קוד האתחול הבא לאפליקציה, לפני שניגשים לשירותי Firebase:

Web

import { initializeApp } from "firebase/app";
import { initializeAppCheck } from "firebase/app-check";

const app = initializeApp({
  // Your firebase configuration object
});

const appCheck = initializeAppCheck(app, {
  provider: appCheckCustomProvider,

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  isTokenAutoRefreshEnabled: true    
});

Web

firebase.initializeApp({
  // Your firebase configuration object
});

const appCheck = firebase.appCheck();
appCheck.activate(
  appCheckCustomProvider,

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  true);

השלבים הבאים

אחרי שמתקינים את ספריית 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 עם ספק ניפוי הבאגים באפליקציות אינטרנט.