वेब ऐप्स में reCAPTCHA v3 के साथ ऐप चेक सक्षम करें

यह पेज आपको दिखाता है कि बिल्ट-इन reCAPTCHA v3 प्रदाता का उपयोग करके वेब ऐप में ऐप चेक को कैसे सक्षम किया जाए। जब आप ऐप चेक सक्षम करते हैं, तो आप यह सुनिश्चित करने में सहायता करते हैं कि केवल आपका ऐप ही आपके प्रोजेक्ट के फायरबेस संसाधनों तक पहुंच सकता है। एक देखें अवलोकन इस सुविधा की।

reCAPTCHA v3 एक ऐसी सेवा है जिसकी कोई कीमत नहीं है। अनुप्रयोग चेक भी समर्थन करता है reCAPTCHA उद्यम , एक नहीं लागत वाली कोटा के साथ एक भुगतान सेवा। ReCAPTCHA v3 और reCAPTCHA उद्यम के बीच मतभेदों को जानने के लिए, सुविधाओं की तुलना

ध्यान दें कि रीकैप्चा v3 उपयोगकर्ताओं के लिए अदृश्य है। रीकैप्चा v3 प्रदाता को किसी भी समय किसी चुनौती को हल करने के लिए उपयोगकर्ताओं की आवश्यकता नहीं होगी। देखें reCAPTCHA v3 प्रलेखन

आप अपने स्वयं के कस्टम प्रदाता के साथ उपयोग करने के लिए अनुप्रयोग चेक चाहते हैं, को देखने के लिए एक कस्टम अनुप्रयोग चेक प्रदाता को लागू करें

1. अपना फायरबेस प्रोजेक्ट सेट करें

  1. आपकी जावास्क्रिप्ट परियोजना के लिए Firebase जोड़े यदि आप पहले से ही ऐसा नहीं किया है।

  2. ReCAPTCHA v3 के लिए अपनी साइट को पंजीकृत करने और अपने reCAPTCHA v3 साइट कुंजी और गुप्त कुंजी मिलता है।

  3. आपकी ऐप्लिकेशन रजिस्टर में reCAPTCHA प्रदाता के साथ उपयोग करने के लिए अनुप्रयोग चेक परियोजना सेटिंग्स> अनुप्रयोग चेक Firebase सांत्वना की धारा। आप पिछले चरण में मिला गुप्त कुंजी प्रदान करने के लिए की आवश्यकता होगी।

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

  4. वैकल्पिक: एप्लिकेशन पंजीकरण सेटिंग्स में, एक कस्टम टाइम-टू-लिव (TTL) सेट के लिए ऐप चेक प्रदाता द्वारा जारी किए गए टोकन। आप टीटीएल को 30 मिनट और 7 दिनों के बीच किसी भी मान पर सेट कर सकते हैं। इस मान को बदलते समय, निम्नलिखित ट्रेडऑफ़ से अवगत रहें:

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

    1 दिन के डिफ़ॉल्ट टीटीएल अधिकांश ऐप्स के लिए उचित है। ध्यान दें कि ऐप चेक लाइब्रेरी टीटीएल अवधि के लगभग आधे पर टोकन को रीफ्रेश करती है।

2. ऐप चेक लाइब्रेरी को अपने ऐप में जोड़ें

अपने वेब ऐप्लिकेशन पर Firebase जोड़े यदि आपने ऐसा नहीं किया है। ऐप चेक लाइब्रेरी को आयात करना सुनिश्चित करें।

3. ऐप चेक इनिशियलाइज़ करें

किसी भी Firebase सेवाओं को एक्सेस करने से पहले, अपने एप्लिकेशन में निम्नलिखित इनिशियलाइज़ेशन कोड जोड़ें। आप के लिए, अपने reCAPTCHA साइट कुंजी है, जो आप reCAPTCHA console में बनाए गए पारित करने के लिए की आवश्यकता होगी activate()

वेब संस्करण 9

const { initializeApp } = require("firebase/app");
const { initializeAppCheck, ReCaptchaV3Provider } = require("firebase/app-check");

const app = initializeApp({
  // Your firebase configuration object
});

// Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this
// key is the counterpart to the secret key you set in the Firebase console.
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaV3Provider('abcdefghijklmnopqrstuvwxy-1234567890abcd'),

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  isTokenAutoRefreshEnabled: true
});

वेब संस्करण 8

firebase.initializeApp({
  // Your firebase configuration object
});

const appCheck = firebase.appCheck();
// Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this
// key is the counterpart to the secret key you set in the Firebase console.
appCheck.activate(
  'abcdefghijklmnopqrstuvwxy-1234567890abcd',

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  true);

एक बार ऐप चेक लाइब्रेरी आपके ऐप में इंस्टॉल हो जाने के बाद, इसे तैनात करें।

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

4. मॉनिटर अनुरोध मेट्रिक्स

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

रीयलटाइम डेटाबेस, क्लाउड फायरस्टोर, और क्लाउड स्टोरेज

रीयलटाइम डेटाबेस, क्लाउड फायरस्टोर और क्लाउड स्टोरेज के लिए यह निर्णय लेने के लिए आप जिस महत्वपूर्ण टूल का उपयोग कर सकते हैं, वह ऐप चेक अनुरोध मेट्रिक्स स्क्रीन है।

एक उत्पाद के लिए ऐप चेक अनुरोध मीट्रिक देखने के लिए, खोलने परियोजना सेटिंग्स> अनुप्रयोग चेक Firebase सांत्वना की धारा। उदाहरण के लिए:

ऐप चेक मेट्रिक्स पेज का स्क्रीनशॉट

प्रत्येक उत्पाद के लिए अनुरोध मीट्रिक चार श्रेणियों में विभाजित हैं:

  • सत्यापित अनुरोध उन है कि एक वैध अनुप्रयोग टोकन की जाँच कर रहे हैं। आपके द्वारा ऐप चेक प्रवर्तन सक्षम करने के बाद, केवल इस श्रेणी के अनुरोध ही सफल होंगे।

  • पुराने क्लाइंट के अनुरोध उन कि ऐप चेक टोकन याद कर रहे हैं कर रहे हैं। ऐप में ऐप चेक शामिल करने से पहले ये अनुरोध फायरबेस एसडीके के पुराने संस्करण से हो सकते हैं।

  • अज्ञात मूल अनुरोध उन कि ऐप टोकन की जाँच करें याद कर रहे हैं कर रहे हैं, और मत देखो की तरह वे Firebase एसडीके से आते हैं। ये चोरी की गई API कुंजियों से किए गए अनुरोधों या Firebase SDK के बिना किए गए जाली अनुरोधों से हो सकते हैं।

  • अमान्य अनुरोध वे होते हैं जिन्हें गलत अनुप्रयोग टोकन की जाँच करें, जो एक तमाशों को अप्रामाणिक ग्राहक अपने अनुप्रयोग, या नकल करते वातावरण से प्रतिरूपित करने के लिए प्रयास कर रहा से हो सकता है कर रहे हैं।

जब आप प्रवर्तन को सक्षम करने का निर्णय लेते हैं तो आपके ऐप के लिए इन श्रेणियों के वितरण को सूचित करना चाहिए। यहां कुछ दिशानिर्देश दिए गए हैं:

  • यदि हाल के लगभग सभी अनुरोध सत्यापित क्लाइंट से हैं, तो अपने बैकएंड संसाधनों की सुरक्षा शुरू करने के लिए प्रवर्तन को सक्षम करने पर विचार करें।

  • यदि हाल के अनुरोधों का एक महत्वपूर्ण हिस्सा संभावित-पुराने ग्राहकों से है, तो उपयोगकर्ताओं को बाधित करने से बचने के लिए, प्रवर्तन को सक्षम करने से पहले अधिक उपयोगकर्ताओं द्वारा आपके ऐप को अपडेट करने की प्रतीक्षा करने पर विचार करें। जारी किए गए ऐप पर ऐप चेक लागू करने से ऐप चेक एसडीके के साथ एकीकृत नहीं किए गए पिछले ऐप संस्करण टूट जाएंगे।

  • यदि आपका ऐप अभी तक लॉन्च नहीं हुआ है, तो आपको तुरंत ऐप चेक प्रवर्तन सक्षम करना चाहिए, क्योंकि उपयोग में कोई पुराना क्लाइंट नहीं है।

बादल कार्य

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

{
  "severity": "INFO",    // INFO, WARNING, or ERROR
  "logging.googleapis.com/labels": {"firebase-log-type": "callable-request-verification"},
  "jsonPayload": {
    "message": "Callable header verifications passed.",
    "verifications": {
      // ...
      "app": "MISSING",  // VALID, INVALID, or MISSING
    }
  }
}

आप द्वारा Google क्लाउड कंसोल में इन मीट्रिक का विश्लेषण कर सकते आधारित लॉग काउंटर मीट्रिक एक बनाने निम्नलिखित मीट्रिक फिल्टर के साथ:

resource.type="cloud_function"
resource.labels.function_name="YOUR_CLOUD_FUNCTION"
resource.labels.region="us-central1"
labels.firebase-log-type="callable-request-verification"

मीट्रिक लेबल करें क्षेत्र का उपयोग jsonPayload.verifications.appCheck

5. प्रवर्तन सक्षम करें

प्रवर्तन सक्षम करने के लिए, प्रत्येक उत्पाद के लिए नीचे दिए गए निर्देशों का पालन करें। एक बार जब आप किसी उत्पाद के लिए प्रवर्तन सक्षम कर देते हैं, तो उस उत्पाद के सभी असत्यापित अनुरोध अस्वीकार कर दिए जाएंगे।

रीयलटाइम डेटाबेस, क्लाउड फायरस्टोर, और क्लाउड स्टोरेज

रीयलटाइम डेटाबेस, क्लाउड फायरस्टोर (आईओएस और एंड्रॉइड), और क्लाउड स्टोरेज के लिए प्रवर्तन सक्षम करने के लिए:

  1. ओपन परियोजना सेटिंग्स> अनुप्रयोग चेक Firebase सांत्वना की धारा।

  2. उस उत्पाद के मेट्रिक दृश्य का विस्तार करें जिसके लिए आप प्रवर्तन सक्षम करना चाहते हैं.

  3. लागू करें और अपनी पसंद की पुष्टि पर क्लिक करें।

ध्यान दें कि आपके द्वारा प्रवर्तन को प्रभावी होने में सक्षम करने के बाद इसमें 10 मिनट तक का समय लग सकता है।

बादल कार्य

देखें अनुप्रयोग बादल कार्य के लिए प्रवर्तन की जाँच सक्षम करें

अगले कदम

यदि, ऐप चेक के लिए अपना ऐप पंजीकृत करने के बाद, आप अपने ऐप को ऐसे वातावरण में चलाना चाहते हैं, जिसे ऐप चेक सामान्य रूप से मान्य के रूप में वर्गीकृत नहीं करेगा, जैसे कि स्थानीय रूप से विकास के दौरान, या निरंतर एकीकरण (सीआई) वातावरण से, आप बना सकते हैं आपके ऐप का एक डिबग बिल्ड जो वास्तविक सत्यापन प्रदाता के बजाय ऐप चेक डिबग प्रदाता का उपयोग करता है।

देखें अनुप्रयोग वेब अनुप्रयोग का प्रयोग में डिबग प्रदाता से संपर्क करें