एपीआई पासकोड को सुरक्षित करने के लिए, App Check का इस्तेमाल करना
Firebase App Check, Google Maps Platform पर आपके ऐप्लिकेशन से किए जाने वाले कॉल को सुरक्षित रखता है. इसके लिए, यह उन सोर्स से आने वाले ट्रैफ़िक को ब्लॉक करता है जो असली ऐप्लिकेशन नहीं हैं. यह काम, reCAPTCHA Enterprise जैसे एटेस्टेशन की सुविधा देने वाले किसी सोर्स से मिले टोकन की जांच करके किया जाता है. अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करने से, नुकसान पहुंचाने वाले अनुरोधों से सुरक्षा मिलती है. इसलिए, आपको बिना अनुमति वाले एपीआई कॉल के लिए शुल्क नहीं देना पड़ता.
क्या App Check मेरे लिए सही है?
ज़्यादातर मामलों में, App Check का इस्तेमाल करने का सुझाव दिया जाता है. हालांकि, इन मामलों में App Check की ज़रूरत नहीं होती या यह काम नहीं करता:
- Places SDK के ओरिजनल वर्शन का इस्तेमाल करना. App Check की सुविधा, सिर्फ़ Places SDK (नया) के लिए उपलब्ध है.
- निजी या एक्सपेरिमेंटल ऐप्लिकेशन. अगर आपका ऐप्लिकेशन सार्वजनिक तौर पर उपलब्ध नहीं है, तो App Check की ज़रूरत नहीं है.
- अगर आपका ऐप्लिकेशन सिर्फ़ सर्वर-टू-सर्वर इस्तेमाल किया जाता है, तो App Check की ज़रूरत नहीं है. हालांकि, अगर GMP से कम्यूनिकेट करने वाले सर्वर का इस्तेमाल सार्वजनिक क्लाइंट (जैसे, मोबाइल ऐप्लिकेशन) करते हैं, तो GMP के बजाय उस सर्वर को सुरक्षित करने के लिए App Check का इस्तेमाल करें.
लागू करने के चरणों की खास जानकारी
अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करने के लिए, आपको ये चरण पूरे करने होंगे:
- अपने ऐप्लिकेशन में Firebase जोड़ना.
- App Check लाइब्रेरी जोड़ना और उसे शुरू करना.
- अपने ऐप्लिकेशन में टोकन की सुविधा देने वाला सोर्स जोड़ना.
- Places और App Check API को शुरू करना.
- डीबग करने की सुविधा चालू करना.
- अपने ऐप्लिकेशन के अनुरोधों पर नज़र रखना और लागू करने के बारे में फ़ैसला लेना.
App Check के साथ इंटिग्रेट करने के बाद, Firebase कंसोल पर बैकएंड ट्रैफ़िक की मेट्रिक देखी जा सकती हैं. इन मेट्रिक से, अनुरोधों के बारे में यह जानकारी मिलती है कि उनके साथ App Check का मान्य टोकन है या नहीं. ज़्यादा जानकारी के लिए, Firebase App Check से जुड़े दस्तावेज़ देखें.
जब आपको पक्का हो जाए कि ज़्यादातर अनुरोध असली सोर्स से आ रहे हैं और लोगों ने आपके ऐप्लिकेशन के उस नए वर्शन को अपडेट कर लिया है जिसमें App Check की सुविधा लागू की गई है, तब लागू करने की सुविधा चालू की जा सकती है. लागू करने की सुविधा चालू होने के बाद, App Check, App Check के मान्य टोकन के बिना आने वाले सभी ट्रैफ़िक को अस्वीकार कर देगा.
App Check को इंटिग्रेट करने की योजना बनाते समय ध्यान रखने वाली बातें
इंटिग्रेशन की योजना बनाते समय, इन बातों का ध्यान रखें:
- एटेस्टेशन की सुविधा देने वाले उन सोर्स में से एक, जिनके इस्तेमाल का हम सुझाव देते हैं, reCAPTCHA Enterprise हर महीने 10,000 से ज़्यादा आकलन के लिए शुल्क लेता है.
एटेस्टेशन की सुविधा देने वाले दूसरे सोर्स, reCAPTCHA v3 के लिए एक कोटा तय किया गया है. इसके बाद, ट्रैफ़िक का आकलन नहीं किया जाएगा.
आपके पास एटेस्टेशन की सुविधा देने वाले किसी कस्टम सोर्स का इस्तेमाल करने का विकल्प होता है. हालांकि, यह एक ऐडवांस इस्तेमाल का तरीका है. ज़्यादा जानकारी के लिए, App Check से जुड़े दस्तावेज़ देखें.
-
आपके ऐप्लिकेशन के उपयोगकर्ताओं को, ऐप्लिकेशन शुरू होने में थोड़ी देरी का सामना करना पड़ेगा. हालांकि, इसके बाद, समय-समय पर होने वाला कोई भी री-एटेस्टेशन बैकग्राउंड में होगा. साथ ही, उपयोगकर्ताओं को अब किसी तरह की देरी का सामना नहीं करना पड़ेगा. ऐप्लिकेशन शुरू होने में कितनी देरी होगी, यह इस बात पर निर्भर करता है कि आपने एटेस्टेशन की सुविधा देने वाले किस सोर्स को चुना है.
App Check टोकन के मान्य रहने की अवधि (टाइम टू लिव या टीटीएल) से यह तय होता है कि री-एटेस्टेशन कितनी बार होगा. इस अवधि को Firebase कंसोल में कॉन्फ़िगर किया जा सकता है. री-एटेस्टेशन तब होता है, जब टीटीएल का करीब आधा समय बीत चुका होता है. ज़्यादा जानकारी के लिए, एटेस्टेशन की सुविधा देने वाले सोर्स के लिए Firebase के दस्तावेज़ देखें.
अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करना
ज़रूरी शर्तें और आवश्यकताएं
- ऐसा ऐप्लिकेशन जिसमें Maps JS API, Core, और Places लाइब्रेरी का नया वर्शन लोड हो. यह वर्शन, हर हफ़्ते या हर तीन महीने में अपडेट होता है.
- ऐसा Cloud प्रोजेक्ट जिसमें Maps JS और Places API (नया) API की सुविधा चालू हो.
- यह ज़रूरी है कि आप Cloud Console में ऐप्लिकेशन के मालिक हों.
- आपके पास Cloud Console से, ऐप्लिकेशन का प्रोजेक्ट आईडी होना चाहिए
पहला चरण: अपने ऐप्लिकेशन में Firebase जोड़ना
अपने ऐप्लिकेशन में Firebase जोड़ने के लिए, Firebase डेवलपर के दस्तावेज़ में दिए गए निर्देशों का पालन करें.
दूसरा चरण: App Check लाइब्रेरी जोड़ना और App Check को शुरू करना
Firebase, एटेस्टेशन की सुविधा देने वाले हर डिफ़ॉल्ट सोर्स के लिए निर्देश उपलब्ध कराता है. इन निर्देशों से आपको यह पता चलता है कि Firebase प्रोजेक्ट को कैसे सेट अप किया जाए और अपने ऐप्लिकेशन में App Check लाइब्रेरी को कैसे जोड़ा जाए. App Check को शुरू करने के लिए, दिए गए कोड के सैंपल का पालन करें.
तीसरा चरण: Maps JS API लाइब्रेरी लोड करना
यहां दिए गए स्निपेट में दिखाए गए तरीके से, कोर, Maps, और Places लाइब्रेरी लोड करें. ज़्यादा जानकारी और निर्देशों के लिए, Maps JavaScript API Place Class से जुड़ा दस्तावेज़ देखें.
async function init() { const {Settings} = await google.maps.importLibrary('core'); const {Map} = await google.maps.importLibrary('maps'); const {Place} = await google.maps.importLibrary('places'); }
चौथा चरण: Places और App Check API को शुरू करना
- Firebase कंसोल से मिले कॉन्फ़िगरेशन का इस्तेमाल करके, App Check को शुरू करें.
- पक्का करें कि Maps JS API के लिए किए गए अनुरोधों के साथ, App Check टोकन भी हों:
async function init() { const {Settings} = await google.maps.importLibrary('core'); const {Map} = await google.maps.importLibrary('maps'); const {Place} = await google.maps.importLibrary('places'); 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); // Make a Places JS request const place = new Place({id: 'ChIJN5Nz71W3j4ARhx5bwpTQEGg'}); await place.fetchFields({fields: ['*']}); // 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 से जुड़े दस्तावेज़ देखें.