Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

वेब ऐप्स में ऐप चेक के साथ गैर-फ़ायरबेस संसाधनों को सुरक्षित रखें

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

आप ऐप चेक के साथ अपने ऐप के गैर-फ़ायरबेस संसाधनों, जैसे स्वयं-होस्ट किए गए बैकएंड की रक्षा कर सकते हैं। ऐसा करने के लिए, आपको निम्नलिखित दोनों करने होंगे:

  • अपने ऐप क्लाइंट को अपने बैकएंड पर प्रत्येक अनुरोध के साथ ऐप चेक टोकन भेजने के लिए संशोधित करें, जैसा कि इस पृष्ठ पर वर्णित है।
  • प्रत्येक अनुरोध के साथ एक मान्य ऐप चेक टोकन की आवश्यकता के लिए अपने बैकएंड को संशोधित करें, जैसा कि कस्टम बैकएंड से सत्यापित ऐप चेक टोकन में वर्णित है।

शुरू करने से पहले

रीकैप्चा v3 प्रदाता , रीकैप्चा एंटरप्राइज प्रदाता या कस्टम प्रदाता का उपयोग करके अपने ऐप में ऐप चेक जोड़ें।

बैकएंड अनुरोधों के साथ ऐप चेक टोकन भेजें

अपने ऐप क्लाइंट में, प्रत्येक अनुरोध से पहले, appCheck().getToken() के साथ एक मान्य, समाप्त नहीं हुआ, ऐप चेक टोकन प्राप्त करें। यदि आवश्यक हो तो ऐप चेक लाइब्रेरी टोकन को रीफ्रेश करेगी।

एक बार जब आपके पास एक वैध टोकन हो, तो इसे अपने बैकएंड को अनुरोध के साथ भेजें। आप इसे कैसे पूरा करते हैं इसका विवरण आप पर निर्भर करता है, लेकिन क्वेरी पैरामीटर सहित URL के हिस्से के रूप में ऐप चेक टोकन न भेजें , क्योंकि यह उन्हें आकस्मिक रिसाव और अवरोधन के प्रति संवेदनशील बनाता है। निम्न उदाहरण एक कस्टम 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.
};