Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

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

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

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

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

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

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

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

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

Web version 9

const { initializeAppCheck, getToken } = require('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 version 8

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.
};