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

क्लाउड फ़ंक्शंस के लिए ऐप चेक प्रवर्तन सक्षम करें

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

जब आप समझते हैं कि ऐप चेक आपके उपयोगकर्ताओं को कैसे प्रभावित करेगा और आप आगे बढ़ने के लिए तैयार हैं, तो आप ऐप चेक प्रवर्तन को सक्षम कर सकते हैं।

अपने कॉल करने योग्य क्लाउड फ़ंक्शंस में ऐप चेक टोकन आवश्यकताओं को लागू करना शुरू करने के लिए, मान्य ऐप चेक टोकन की जांच के लिए अपने कार्यों को संशोधित करें, जैसा कि नीचे दिखाया गया है। एक बार जब आप प्रवर्तन सक्षम कर देते हैं, तो सभी असत्यापित अनुरोध अस्वीकार कर दिए जाएंगे।

  1. अपने प्रोजेक्ट के firebase-functions निर्भरता को 3.14.0 या नए संस्करण में अपडेट करें:

    npm install firebase-functions@">=3.14.0"
    

    और अपने प्रोजेक्ट के firebase-admin निर्भरता को 9.8.0 या नए संस्करण में अपडेट करें:

    npm install firebase-admin@">=9.8.0"
    
  2. अपने फ़ंक्शन में context.app के लिए एक चेक जोड़ें। यदि context.app परिभाषित नहीं है, तो आपका कार्य विफल होना चाहिए।

    exports.yourCallableFunction = functions.https.onCall((data, context) => {
      // context.app will be undefined if the request doesn't include an
      // App Check token. (If the request includes an invalid App Check
      // token, the request will be rejected with HTTP error 401.)
      if (context.app == undefined) {
        throw new functions.https.HttpsError(
            'failed-precondition',
            'The function must be called from an App Check verified app.')
      }
    
      // Your function logic follows.
    });
    
  3. (वैकल्पिक) यदि आप अपने तर्क के साथ अमान्य ऐप चेक टोकन को संभालना चाहते हैं (उदाहरण के लिए, यदि आप अस्थायी रूप से लॉग करना चाहते हैं, अस्वीकार करने के बजाय, पूर्ण प्रवर्तन सक्षम करने से पहले अमान्य अनुरोध), allowInvalidAppCheckToken को true पर सेट करें:

    exports.yourCallableFunction = functions.
      .runWith({
        allowInvalidAppCheckToken: true  // Opt-out: Requests with invalid App
                                         // Check tokens continue to your code.
      })
      .https.onCall((data, context) => {
        // Now, requests with an invalid App Check token are not rejected.
        //
        // context.app will be undefined if the request:
        //   1) Does not include an App Check token
        //   2) Includes an invalid App Check token
        if (context.app == undefined) {
          // You can inspect the raw request header to check whether an App
          // Check token was provided in the request. If you're not ready to
          // fully enable App Check yet, you could log these conditions instead
          // of throwing errors.
          const rawToken = context.rawRequest.header['X-Firebase-AppCheck'];
          if (rawToken == undefined) {
            throw new functions.https.HttpsError(
                'failed-precondition',
                'The function must be called from an App Check verified app.'
            );
          } else {
            throw new functions.https.HttpsError(
                'unauthenticated',
                'Provided App Check token failed to validate.'
            );
          }
        }
    
        // Your function logic follows.
      });
    

    पूर्ण ऐप चेक सुरक्षा सक्षम करने के लिए, allowInvalidAppCheckToken को false पर सेट करें।

  4. अपने कार्यों को फिर से तैनात करें:

    firebase deploy --only functions
    

इन परिवर्तनों के लागू होने के बाद, आपके कॉल करने योग्य क्लाउड फ़ंक्शंस को मान्य ऐप चेक टोकन की आवश्यकता होगी। जब आप कॉल करने योग्य फ़ंक्शन का आह्वान करते हैं, तो क्लाउड फ़ंक्शंस क्लाइंट SDK स्वचालित रूप से ऐप चेक टोकन संलग्न करते हैं।