इस पेज पर, वेब ऐप्लिकेशन में App Check की सुविधा चालू करने का तरीका बताया गया है. इसके लिए, reCAPTCHA वर्शन 3 के बिल्ट-इन प्रोवाइडर का इस्तेमाल किया जाता है. जब आप App Check चालू करते हैं, तो यह पक्का करने में मदद मिलती है कि आपके प्रोजेक्ट के Firebase संसाधनों को सिर्फ़ आपका ऐप्लिकेशन ही ऐक्सेस कर सके. इस सुविधा की खास जानकारी देखें .
ध्यान दें कि reCAPTCHA वर्शन 3, उपयोगकर्ताओं को नहीं दिखता. reCAPTCHA वर्शन 3 का प्रोवाइडर, उपयोगकर्ताओं से किसी भी समय कोई चैलेंज हल करने के लिए नहीं कहेगा. reCAPTCHA वर्शन 3 का दस्तावेज़ देखें.
अगर आपको App Check का इस्तेमाल, अपने पसंद के मुताबिक बनाए गए प्रोवाइडर के साथ करना है, तो पसंद के मुताबिक बनाया गया App Check प्रोवाइडर लागू करना लेख पढ़ें.
1. अपना Firebase प्रोजेक्ट सेट अप करना
अगर आपने पहले से ही ऐसा नहीं किया है, तो अपने JavaScript प्रोजेक्ट में Firebase जोड़ें.
reCAPTCHA वर्शन 3 के लिए अपनी साइट रजिस्टर करें और reCAPTCHA वर्शन 3 के लिए साइट की कुंजी और सीक्रेट कुंजी पाएं.
Firebase console में, सुरक्षा > App Check पर जाएं.
ऐप्लिकेशन टैब में, App Check का इस्तेमाल करने के लिए, reCAPTCHA प्रोवाइडर के साथ अपने ऐप्लिकेशन रजिस्टर करें. आपको reCAPTCHA साइट में मिली सीक्रेट कुंजी देनी होगी.
आम तौर पर, आपको अपने प्रोजेक्ट के सभी ऐप्लिकेशन रजिस्टर करने होते हैं. ऐसा इसलिए, क्योंकि Firebase प्रॉडक्ट के लिए, लागू करने की सुविधा चालू करने के बाद, सिर्फ़ रजिस्टर किए गए ऐप्लिकेशन ही प्रॉडक्ट के बैकएंड संसाधनों को ऐक्सेस कर पाएंगे.
ज़रूरी नहीं: ऐप्लिकेशन रजिस्टर करने की सेटिंग में, प्रोवाइडर की ओर से जारी किए गए टोकन के लिए, पसंद के मुताबिक टाइम-टू-लाइव (टीटीएल) सेट करें.App Check टीटीएल को 30 मिनट से लेकर सात दिनों के बीच की कोई भी वैल्यू पर सेट किया जा सकता है. इस वैल्यू को बदलते समय, इन बातों का ध्यान रखें:
- सुरक्षा: टीटीएल की अवधि कम होने पर, सुरक्षा बेहतर होती है. ऐसा इसलिए, क्योंकि इससे वह समय कम हो जाता है जिसमें लीक हुए या इंटरसेप्ट किए गए टोकन का इस्तेमाल, हमलावर कर सकता है.
- परफ़ॉर्मेंस: टीटीएल की अवधि कम होने का मतलब है कि आपका ऐप्लिकेशन, एटेस्टेशन की प्रोसेस को ज़्यादा बार करेगा. ऐप्लिकेशन एटेस्टेशन की प्रोसेस हर बार नेटवर्क अनुरोधों में देरी करती है. इसलिए, टीटीएल की अवधि कम होने पर, आपके ऐप्लिकेशन की परफ़ॉर्मेंस पर असर पड़ सकता है.
- कोटा और लागत: टीटीएल की अवधि कम होने और बार-बार एटेस्टेशन की प्रोसेस होने से, आपका कोटा तेज़ी से खत्म हो जाता है. साथ ही, पैसे चुकाकर ली जाने वाली सेवाओं के लिए, ज़्यादा लागत लग सकती है. कोटे और सीमाएं देखें.
ज़्यादातर ऐप्लिकेशन के लिए, डिफ़ॉल्ट टीटीएल एक दिन सही है. ध्यान दें कि App Check लाइब्रेरी, टीटीएल की अवधि के करीब आधे समय में टोकन रीफ़्रेश करती है.
बेहतर सेटिंग कॉन्फ़िगर करना (ज़रूरी नहीं)
जब कोई उपयोगकर्ता आपके वेब ऐप्लिकेशन पर जाता है, तो reCAPTCHA वर्शन 3, उपयोगकर्ता के इंटरैक्शन से होने वाले जोखिम के लेवल का आकलन करता है. इसके बाद, 0.0 से 1.0 के बीच स्कोर दिखाता है. 1.0 का मतलब है कि इंटरैक्शन के सही होने की संभावना बहुत ज़्यादा है, जबकि 0.0 का मतलब है कि इंटरैक्शन के बॉट से होने की संभावना बहुत ज़्यादा है. App Check की मदद से, ऐप्लिकेशन के जोखिम की थ्रेशोल्ड वैल्यू कॉन्फ़िगर की जा सकती है. इससे, इस जोखिम के लिए अपनी टॉलरेंस को अडजस्ट किया जा सकता है.
ज़्यादातर मामलों में, 0.5 की डिफ़ॉल्ट थ्रेशोल्ड वैल्यू इस्तेमाल करने का सुझाव दिया जाता है. अगर आपको अपनी ज़रूरत के हिसाब से बदलाव करना है, तो App Check सेक्शन में जाकर, अपने हर वेब ऐप्लिकेशन के लिए इसे Firebase कॉन्फ़िगर किया जा सकता है.
विवरण
App Check कॉन्फ़िगर की गई ऐप्लिकेशन के जोखिम की थ्रेशोल्ड वैल्यू को, reCAPTCHA वर्शन 3 के उस कम से कम स्कोर के तौर पर इस्तेमाल करता है जो किसी उपयोगकर्ता के इंटरैक्शन को सही ठहराने के लिए ज़रूरी है. reCAPTCHA वर्शन 3 के वे सभी स्कोर अस्वीकार कर दिए जाएंगे जो कॉन्फ़िगर की गई ऐप्लिकेशन के जोखिम की थ्रेशोल्ड वैल्यू से कम होंगे. ऐप्लिकेशन के जोखिम की थ्रेशोल्ड वैल्यू को अडजस्ट करते समय, इन बातों का ध्यान रखें:
- अपने वेब ऐप्लिकेशन के लिए, reCAPTCHA वर्शन 3 के स्कोर के डिस्ट्रिब्यूशन को मॉनिटर करने के लिए, reCAPTCHA Admin console पर जाएं और अपने वेब ऐप्लिकेशन से जुड़ी साइट चुनें.
अगर आपके पास ऐप्लिकेशन के जोखिम के लिए कम टॉलरेंस है, तो ऐप्लिकेशन के जोखिम की थ्रेशोल्ड वैल्यू बढ़ाने के लिए, स्लाइडर को बाईं ओर ले जाएं.
- 1.0 की वैल्यू इस्तेमाल करने का सुझाव नहीं दिया जाता. ऐसा इसलिए, क्योंकि इस सेटिंग से उन सही उपयोगकर्ताओं को भी ऐक्सेस से रोका जा सकता है जो भरोसे की इस ऊंची थ्रेशोल्ड वैल्यू को पूरा नहीं करते.
अगर आपके पास ऐप्लिकेशन के जोखिम के लिए ज़्यादा टॉलरेंस है, तो ऐप्लिकेशन के जोखिम की थ्रेशोल्ड वैल्यू कम करने के लिए, स्लाइडर को दाईं ओर ले जाएं.
- 0.0 की वैल्यू इस्तेमाल करने का सुझाव नहीं दिया जाता. ऐसा इसलिए, क्योंकि इस सेटिंग से गलत इस्तेमाल से सुरक्षा की सुविधा बंद हो जाती है.
ज़्यादा जानकारी के लिए, reCAPTCHA वर्शन 3 का दस्तावेज़ देखें.
2. अपने ऐप्लिकेशन में App Check लाइब्रेरी जोड़ना
अगर आपने पहले से ही ऐसा नहीं किया है, तो अपने वेब ऐप्लिकेशन में Firebase जोड़ें. लाइब्रेरी इंपोर्ट करना न भूलें.App Check
3. App Check को शुरू करना
किसी भी Firebase सेवा को ऐक्सेस करने से पहले, अपने ऐप्लिकेशन में शुरू करने का यह कोड जोड़ें. आपको activate() में, reCAPTCHA की साइट कुंजी पास करनी होगी. यह कुंजी, reCAPTCHA console में
बनाई जाती है.
Web
import { initializeApp } from "firebase/app"; import { initializeAppCheck, ReCaptchaV3Provider } from "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 });
Web
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);
अगले चरण
अपने ऐप्लिकेशन में App Check लाइब्रेरी इंस्टॉल करने के बाद, इसे डिप्लॉय करें.
अपडेट किया गया क्लाइंट ऐप्लिकेशन, Firebase को किए जाने वाले हर अनुरोध के साथ, App Check टोकन भेजेगा. हालांकि, Firebase console के App Check सेक्शन में, लागू करने की सुविधा चालू करने तक, Firebase प्रॉडक्ट के लिए टोकन का मान्य होना ज़रूरी नहीं होगा.
मेट्रिक मॉनिटर करना और लागू करने की सुविधा चालू करना
हालांकि, लागू करने की सुविधा चालू करने से पहले, आपको यह पक्का करना चाहिए कि ऐसा करने से, आपके मौजूदा सही उपयोगकर्ताओं को कोई परेशानी न हो. दूसरी ओर, अगर आपको अपने ऐप्लिकेशन के संसाधनों का संदिग्ध इस्तेमाल दिख रहा है, तो आपको लागू करने की सुविधा जल्द चालू करनी चाहिए.
यह फ़ैसला लेने में मदद पाने के लिए, उन सेवाओं के लिए App Check मेट्रिक देखें जिनका इस्तेमाल किया जाता है:
- के लिए, App Check अनुरोध की मेट्रिक मॉनिटर करें Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, iOS के लिए Google Identity, Maps JavaScript API, और Places API (नया).
- के लिए, App Check के अनुरोध की मेट्रिक मॉनिटर करें Cloud Functions.
लागू करने की सुविधा चालू करनाApp Check
जब आपको यह पता चल जाए कि App Check से आपके उपयोगकर्ताओं पर क्या असर पड़ेगा और आप आगे बढ़ने के लिए तैयार हैं, तब App Check को लागू करने की सुविधा चालू की जा सकती है:
- Google Identity for iOS, Maps JavaScript API, और Places API (नया) के लिए, App Check लागू करने की सुविधा चालू करें Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication.
- के लिए, Cloud Functions को लागू करने की सुविधा चालू करें App Check.
डीबग एनवायरमेंट में App Check का इस्तेमाल करना
अगर App Check के लिए अपने ऐप्लिकेशन को रजिस्टर करने के बाद, आपको अपने ऐप्लिकेशन को ऐसे एनवायरमेंट में चलाना है जिसे App Check आम तौर पर मान्य नहीं मानता, तो अपने ऐप्लिकेशन का डीबग बिल्ड बनाया जा सकता है. जैसे, डेवलपमेंट के दौरान स्थानीय तौर पर या कंटीन्यूअस इंटिग्रेशन (सीआई) एनवायरमेंट से. यह बिल्ड, असली एटेस्टेशन प्रोवाइडर के बजाय, App Check के डीबग प्रोवाइडर का इस्तेमाल करता है.
वेब ऐप्लिकेशन में, डीबग प्रोवाइडर के साथ Use App Check का इस्तेमाल करना लेख देखें.