प्लैटफ़ॉर्म चुनें: Android iOS JavaScript

अपने एपीआई पासकोड को सुरक्षित रखने के लिए, 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 के साथ इंटिग्रेट करने के लिए, आपको यह तरीका अपनाना होगा:

  1. अपने ऐप्लिकेशन में Firebase जोड़ें.
  2. App Check लाइब्रेरी को जोड़ें और शुरू करें.
  3. टोकन की सेवा देने वाली कंपनी को अपने ऐप्लिकेशन में जोड़ें.
  4. Maps JS और App Check API को शुरू करें.
  5. डीबग करने की सुविधा चालू करें.
  6. अपने ऐप्लिकेशन के अनुरोधों पर नज़र रखें और नीति उल्लंघन ठीक करने के तरीके पर फ़ैसला लें.

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 टोकन के मान्य रहने की अवधि (टाइम टू लिव या TTL) से यह तय होता है कि फिर से पुष्टि करने की प्रोसेस कितनी बार होगी. इस अवधि को 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 की लाइब्रेरी लोड करना

  1. कोर और Maps लाइब्रेरी लोड करें, जैसा कि इस स्निपेट में दिखाया गया है. ज़्यादा जानकारी और निर्देशों के लिए, Maps JavaScript API से जुड़ा दस्तावेज़ देखें.

    async function init() {
      const {Settings} = await google.maps.importLibrary('core');
      const {Map} = await google.maps.importLibrary('maps');
    }  

चौथा चरण: Maps और App Check एपीआई को शुरू करना

  1. Firebase कंसोल से मिले कॉन्फ़िगरेशन का इस्तेमाल करके, App Check को शुरू करें.
  2. पक्का करें कि 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 का दस्तावेज़ देखें.