תחילת העבודה עם 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 עבור הספק המותאם אישית. לאובייקט הזה צריכה להיות שיטה getToken(), שמאגרת את כל המידע שנחוץ לספק App Check בהתאמה אישית כראיה לאותנטיות, ושולחת אותו לשירות לקבלת האסימונים בתמורה לאסימון App Check. ערכת ה-SDK של App Check מטפלת בשמירת האסימונים במטמון, לכן תמיד צריך לקבל אסימון חדש בהטמעה של 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 עם ספק ניפוי הבאגים באפליקציות אינטרנט.