הגן על משאבים שאינם של Firebase באמצעות App Check באפליקציות אינטרנט

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

לפני שאתה מתחיל

הוסף App Check לאפליקציה שלך, באמצעות ספק reCAPTCHA Enterprise או ספק מותאם אישית .

שלח אסימוני בדיקת אפליקציה עם בקשות קצה

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

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

Web modular API

import { initializeAppCheck, getToken } from 'firebase/app-check';

const appCheck = initializeAppCheck(
    app,
    { provider: provider } // ReCaptchaV3Provider or CustomProvider
);

const callApiWithAppCheckExample = async () => {
  let appCheckTokenResponse;
  try {
      appCheckTokenResponse = await getToken(appCheck, /* forceRefresh= */ false);
  } catch (err) {
      // Handle any errors if the token was not retrieved.
      return;
  }

  // Include the App Check token with requests to your server.
  const apiResponse = await fetch('https://yourbackend.example.com/yourApiEndpoint', {
      headers: {
          'X-Firebase-AppCheck': appCheckTokenResponse.token,
      }
  });

  // Handle response from your backend.
};

Web namespaced API

const callApiWithAppCheckExample = async () => {
  let appCheckTokenResponse;
  try {
      appCheckTokenResponse = await firebase.appCheck().getToken(/* forceRefresh= */ false);
  } catch (err) {
      // Handle any errors if the token was not retrieved.
      return;
  }

  // Include the App Check token with requests to your server.
  const apiResponse = await fetch('https://yourbackend.example.com/yourApiEndpoint', {
      headers: {
          'X-Firebase-AppCheck': appCheckTokenResponse.token,
      }
  });

  // Handle response from your backend.
};

הגנה על הפעלה חוזרת (בטא)

בעת ביצוע בקשה לנקודת קצה שעבורה הפעלת הגנת משחק חוזר , רכוש אסימון באמצעות getLimitedUseToken() במקום getToken() :

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

// ...

appCheckTokenResponse = await getLimitedUseToken(appCheck);