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