एपीआई पासकोड को सुरक्षित करने के लिए, App Check का इस्तेमाल करना
Firebase App Check, Google Maps Platform पर आपके ऐप्लिकेशन से किए जाने वाले कॉल को सुरक्षित करता है. इसके लिए, वह उन सोर्स से आने वाले ट्रैफ़िक को ब्लॉक करता है जो मान्य ऐप्लिकेशन नहीं हैं. यह काम, वह reCAPTCHA Enterprise जैसे अटेस्टेशन की सुविधा देने वाले किसी सोर्स से मिले टोकन की जांच करके करता है. अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करने से, नुकसान पहुंचाने वाले अनुरोधों से सुरक्षा मिलती है. इसलिए, आपको बिना अनुमति वाले एपीआई कॉल के लिए शुल्क नहीं देना पड़ता.
क्या App Check मेरे लिए सही है?
ज़्यादातर मामलों में, App Check का इस्तेमाल करने का सुझाव दिया जाता है. हालांकि, इन मामलों में App Check की ज़रूरत नहीं होती या यह काम नहीं करता:
- निजी या एक्सपेरिमेंटल ऐप्लिकेशन. अगर आपका ऐप्लिकेशन सार्वजनिक तौर पर उपलब्ध नहीं है, तो App Check की ज़रूरत नहीं है.
- अगर आपका ऐप्लिकेशन सिर्फ़ सर्वर-टू-सर्वर इस्तेमाल किया जाता है, तो App Check की ज़रूरत नहीं है. हालांकि, अगर जीएमपी से कम्यूनिकेट करने वाले सर्वर का इस्तेमाल सार्वजनिक क्लाइंट (जैसे, मोबाइल ऐप्लिकेशन) करते हैं, तो जीएमपी के बजाय उस सर्वर को सुरक्षित करने के लिए App Check का इस्तेमाल करें.
लागू करने के चरणों की खास जानकारी
अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करने के लिए, आपको यह तरीका अपनाना होगा:
- अपने ऐप्लिकेशन में Firebase जोड़ें.
- App Check लाइब्रेरी जोड़ें और उसे शुरू करें.
- अपने ऐप्लिकेशन में टोकन की सुविधा देने वाला सोर्स जोड़ें.
- Maps JS और App Check API शुरू करें.
- डीबग करने की सुविधा चालू करें.
- अपने ऐप्लिकेशन के अनुरोधों पर नज़र रखें और लागू करने के बारे में फ़ैसला लें.
App Check के साथ इंटिग्रेट करने के बाद, आपको Firebase कंसोल पर बैकएंड ट्रैफ़िक के आंकड़े दिखेंगे. इन आंकड़ों से पता चलता है कि मान्य App Check टोकन के साथ कितने अनुरोध किए गए हैं. ज़्यादा जानकारी के लिए, Firebase App Check का दस्तावेज़ देखें.
जब आपको पक्का हो जाए कि ज़्यादातर अनुरोध मान्य सोर्स से किए गए हैं और लोगों ने आपके ऐप्लिकेशन के उस नए वर्शन को अपडेट कर लिया है जिसमें App Check लागू किया गया है, तब लागू करने की सुविधा चालू की जा सकती है. लागू करने की सुविधा चालू होने के बाद, App Check, मान्य App Check टोकन के बिना किए गए सभी अनुरोधों को अस्वीकार कर देगा.
App Check को इंटिग्रेट करने की योजना बनाते समय ध्यान रखने वाली बातें
इंटिग्रेशन की योजना बनाते समय, इन बातों का ध्यान रखें:
- अटेस्टेशन की सुविधा देने वाले उन सोर्स में से एक, reCAPTCHA Enterprise, हर महीने 10,000 से ज़्यादा आकलन के लिए शुल्क लेता है.
अटेस्टेशन की सुविधा देने वाले दूसरे सोर्स, reCAPTCHA वर्शन 3 की एक कोटा सीमा होती है. इसके बाद, ट्रैफ़िक का आकलन नहीं किया जाएगा.
आपके पास अटेस्टेशन की सुविधा देने वाले किसी कस्टम सोर्स का इस्तेमाल करने का विकल्प होता है. हालांकि, यह एक ऐडवांस इस्तेमाल का तरीका है. ज़्यादा जानकारी के लिए, App Check का दस्तावेज़ देखें.
-
आपके ऐप्लिकेशन के उपयोगकर्ताओं को, ऐप्लिकेशन शुरू होने में थोड़ी देरी का सामना करना पड़ेगा. हालांकि, इसके बाद, समय-समय पर होने वाला कोई भी री-अटेस्टेशन बैकग्राउंड में होगा. साथ ही, उपयोगकर्ताओं को अब कोई देरी नहीं होगी. ऐप्लिकेशन शुरू होने में लगने वाली देरी की सटीक जानकारी, अटेस्टेशन की सुविधा देने वाले उस सोर्स पर निर्भर करती है जिसे आपने चुना है.
App Check टोकन के मान्य रहने की अवधि (टाइम टू लिव या टीटीएल) से, री-अटेस्टेशन की फ़्रीक्वेंसी तय होती है. इस अवधि को Firebase कंसोल में कॉन्फ़िगर किया जा सकता है. री-अटेस्टेशन तब होता है, जब टीटीएल का करीब आधा समय बीत चुका होता है. ज़्यादा जानकारी के लिए, अटेस्टेशन की सुविधा देने वाले सोर्स के लिए Firebase के दस्तावेज़ देखें.
अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करना
ज़रूरतें और सुझाव
- ऐसा ऐप्लिकेशन जिसमें Maps JS API और कोर लाइब्रेरी का, हर हफ़्ते या तिमाही में अपडेट होने वाला नया वर्शन लोड किया गया हो.
- Maps JS API की सुविधा वाला क्लाउड प्रोजेक्ट.
- यह ज़रूरी है कि आप Cloud Console में ऐप्लिकेशन के मालिक हों.
- आपके पास Cloud Console से, ऐप्लिकेशन का प्रोजेक्ट आईडी होना चाहिए
पहला चरण: अपने ऐप्लिकेशन में Firebase जोड़ना
अपने ऐप्लिकेशन में Firebase जोड़ने के लिए, Firebase डेवलपर के दस्तावेज़ में दिए गए निर्देशों का पालन करें.
दूसरा चरण: App Check लाइब्रेरी जोड़ना और App Check शुरू करना
Firebase, अटेस्टेशन की सुविधा देने वाले हर डिफ़ॉल्ट सोर्स के लिए निर्देश उपलब्ध कराता है. इन निर्देशों से आपको यह पता चलता है कि Firebase प्रोजेक्ट कैसे सेट अप किया जाए और अपने ऐप्लिकेशन में App Check लाइब्रेरी कैसे जोड़ी जाए. App Check शुरू करने के लिए, दिए गए कोड के सैंपल का पालन करें.
तीसरा चरण: Maps JS API लाइब्रेरी लोड करना
नीचे दिए गए स्निपेट में दिखाए गए तरीके से, कोर और Maps लाइब्रेरी लोड करें. ज़्यादा जानकारी और निर्देशों के लिए, Maps JavaScript API का दस्तावेज़ देखें.
async function init() { const {Settings} = await google.maps.importLibrary('core'); const {Map} = await google.maps.importLibrary('maps'); }
चौथा चरण: Maps और App Check API शुरू करना
- Firebase कंसोल से मिले कॉन्फ़िगरेशन का इस्तेमाल करके, App Check शुरू करें.
- पक्का करें कि Maps JS API के अनुरोधों के साथ, App Check टोकन भी शामिल हों:
import {initializeApp} from 'firebase/app'; import { getToken, initializeAppCheck, ReCaptchaEnterpriseProvider, } from 'firebase/app-check'; async function init() { const {Settings} = await google.maps.importLibrary('core'); const {Map} = await google.maps.importLibrary('maps'); const app = initializeApp({ // Your firebase configuration object }); // Pass your reCAPTCHA Enterprise site key to initializeAppCheck(). const appCheck = initializeAppCheck(app, { provider: new ReCaptchaEnterpriseProvider( 'abcdefghijklmnopqrstuvwxy-1234567890abcd', ), // Optional argument. If true, the SDK automatically refreshes App Check // tokens as needed. isTokenAutoRefreshEnabled: true, }); Settings.getInstance().fetchAppCheckToken = () => getToken(appCheck, /* forceRefresh = */ false); // Load a map map = new Map(document.getElementById("map"), { center: { lat: 37.4161493, lng: -122.0812166 }, zoom: 8, }); }
पांचवा चरण: डीबग करने की सुविधा चालू करना (ज़रूरी नहीं)
अगर आपको अपने ऐप्लिकेशन को स्थानीय तौर पर डेवलप और टेस्ट करना है या उसे कंटीन्यूअस इंटिग्रेशन (सीआई) एनवायरमेंट में चलाना है, तो अपने ऐप्लिकेशन का डीबग बिल्ड बनाया जा सकता है. इसमें, मान्य App Check टोकन पाने के लिए, डीबग सीक्रेट का इस्तेमाल किया जाता है. इससे, आपको अपने डीबग बिल्ड में अटेस्टेशन की सुविधा देने वाले असली सोर्स का इस्तेमाल नहीं करना पड़ता.
अपने ऐप्लिकेशन को स्थानीय तौर पर टेस्ट करने के लिए:
- डेवलपमेंट के मकसद से, डीबग की सुविधा देने वाले सोर्स को चालू करें.
- आपको SDK टूल के डीबग लॉग से, UUID4 (App Check के दस्तावेज़ में इसे _डीबग टोकन_ कहा जाता है) अपने-आप जनरेट होकर मिलेगा. इस टोकन को Firebase कंसोल में जोड़ें.
- ज़्यादा जानकारी और निर्देशों के लिए, App Check का दस्तावेज़ देखें.
अपने ऐप्लिकेशन को सीआई एनवायरमेंट में चलाने के लिए:
- Firebase कंसोल से, UUID4 जनरेट करें.
- UUID4 को डीबग टोकन के तौर पर जोड़ें. इसके बाद, इसे किसी सीक्रेट स्टोर में कॉपी करें. सीआई टेस्ट, हर टेस्ट रन के लिए इसे ऐक्सेस करेंगे.
- ज़्यादा जानकारी और निर्देशों के लिए, App Check का दस्तावेज़ देखें.
छठा चरण: अपने ऐप्लिकेशन के अनुरोधों पर नज़र रखना और लागू करने के बारे में फ़ैसला लेना
लागू करने की सुविधा शुरू करने से पहले, आपको यह पक्का करना होगा कि आपके ऐप्लिकेशन के मान्य उपयोगकर्ताओं को कोई समस्या न हो. इसके लिए, App Check के आंकड़ों वाली स्क्रीन पर जाएं. इससे आपको यह पता चलेगा कि आपके ऐप्लिकेशन के ट्रैफ़िक का कितना प्रतिशत मान्य है, पुराना है या अमान्य है. जब आपको पता चले कि आपके ट्रैफ़िक का ज़्यादातर हिस्सा मान्य है, तब लागू करने की सुविधा चालू की जा सकती है.
ज़्यादा जानकारी और निर्देशों के लिए, Firebase App Check का दस्तावेज़ देखें.