अपने एपीआई पासकोड को सुरक्षित रखने के लिए, App Check का इस्तेमाल करना
Firebase App Check की मदद से, Google Maps Platform पर आपके ऐप्लिकेशन से किए जाने वाले कॉल को सुरक्षित रखा जा सकता है. यह सुविधा, ऐसे ट्रैफ़िक को ब्लॉक करती है जो भरोसेमंद ऐप्लिकेशन के अलावा अन्य सोर्स से आता है. इसके लिए, यह reCAPTCHA Enterprise जैसे किसी अटेस्टेशन प्रोवाइडर से मिले टोकन की जांच करता है. अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करने से, नुकसान पहुंचाने वाले अनुरोधों से सुरक्षा मिलती है. इससे आपको बिना अनुमति के किए गए एपीआई कॉल के लिए शुल्क नहीं देना पड़ता.
क्या App Check मेरे लिए सही है?
ज़्यादातर मामलों में, App Check का इस्तेमाल करने का सुझाव दिया जाता है. हालांकि, इन मामलों में App Check की ज़रूरत नहीं होती या यह काम नहीं करता:
- निजी या एक्सपेरिमेंट के तौर पर इस्तेमाल किए जा रहे ऐप्लिकेशन. अगर आपका ऐप्लिकेशन सार्वजनिक तौर पर ऐक्सेस नहीं किया जा सकता, तो App Check की ज़रूरत नहीं है.
- अगर आपके ऐप्लिकेशन का इस्तेमाल सिर्फ़ सर्वर-टू-सर्वर किया जाता है, तो App Check की ज़रूरत नहीं होती. हालांकि, अगर GMP से कम्यूनिकेट करने वाले सर्वर का इस्तेमाल सार्वजनिक क्लाइंट (जैसे, मोबाइल ऐप्लिकेशन) करते हैं, तो GMP के बजाय 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 टोकन नहीं होगा.
App Check इंटिग्रेशन की योजना बनाते समय ध्यान रखने वाली बातें
इंटिग्रेशन की प्रोसेस शुरू करने से पहले, इन बातों का ध्यान रखें:
- हम जिस अटेस्टेशन प्रोवाइडर का सुझाव देते हैं उनमें से एक, reCAPTCHA Enterprise है. यह हर महीने 10,000 से ज़्यादा आकलन के लिए शुल्क लेता है.
हम पुष्टि करने वाली जिस दूसरी सेवा का सुझाव देते हैं वह है reCAPTCHA वर्शन 3. इसके लिए एक कोटा तय होता है. कोटा पूरा होने के बाद, ट्रैफ़िक का आकलन नहीं किया जाएगा.
आपके पास कस्टम अटेस्टेशन प्रोवाइडर का इस्तेमाल करने का विकल्प होता है. हालांकि, यह इस्तेमाल का एक ऐडवांस उदाहरण है. ज़्यादा जानकारी के लिए, App Check का दस्तावेज़ देखें.
-
आपके ऐप्लिकेशन के उपयोगकर्ताओं को, ऐप्लिकेशन शुरू होने में कुछ इंतज़ार करना पड़ेगा. हालांकि, इसके बाद समय-समय पर होने वाला पुष्टि करने का प्रोसेस बैकग्राउंड में होगा. साथ ही, उपयोगकर्ताओं को अब किसी भी तरह की देरी का सामना नहीं करना पड़ेगा. स्टार्टअप के समय होने वाली सटीक लेटेंसी, आपके चुने गए अटेस्टेशन प्रोवाइडर पर निर्भर करती है.
App Check टोकन के मान्य रहने की अवधि (टाइम टू लिव या TTL) से यह तय होता है कि पुष्टि कितनी बार की जाएगी. इस अवधि को Firebase कंसोल में कॉन्फ़िगर किया जा सकता है. फिर से पुष्टि करने की प्रोसेस तब शुरू होती है, जब टीटीएल का करीब आधा समय बीत जाता है. ज़्यादा जानकारी के लिए, पुष्टि करने की सेवा देने वाली कंपनी के Firebase दस्तावेज़ देखें.
अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करना
ज़रूरी शर्तें
- ऐसा ऐप्लिकेशन जिसमें Maps JavaScript 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 का दस्तावेज़ देखें.