Firebase के लिए, एपीआई पासकोड इस्तेमाल और मैनेज करने के बारे में जानें

एपीआई पासकोड एक यूनीक स्ट्रिंग होती है, जिसका इस्तेमाल अनुरोधों को आपके Firebase पर भेजने के लिए किया जाता है Firebase और Google की सेवाओं के साथ इंटरैक्ट करते समय प्रोजेक्ट. इस पेज में बताया गया है कि एपीआई पासकोड के बारे में बुनियादी जानकारी, आपके एपीआई पासकोड के इस्तेमाल के सबसे सही तरीके और Firebase ऐप्लिकेशन की मदद से एपीआई पासकोड मैनेज किए जा सकते हैं.

एपीआई पासकोड और Firebase के बारे में सामान्य जानकारी

Firebase के लिए एपीआई पासकोड, सामान्य एपीआई पासकोड से अलग होते हैं

आम तौर पर एपीआई पासकोड का इस्तेमाल करने के तरीके के उलट, Firebase सेवाओं के लिए एपीआई पासकोड का इस्तेमाल, बैकएंड संसाधनों के ऐक्सेस को कंट्रोल करने के लिए नहीं किया जाता. ऐसा सिर्फ़ Firebase Security Rules (यह कंट्रोल करने के लिए कि कौनसे असल उपयोगकर्ता संसाधनों को ऐक्सेस कर सकते हैं) और Firebase App Check (यह कंट्रोल करने के लिए कि कौनसे ऐप्लिकेशन संसाधनों को ऐक्सेस कर सकते हैं) की मदद से किया जा सकता है.

आम तौर पर, आपको एपीआई पासकोड को सुरक्षित रखने की ज़रूरत होती है. उदाहरण के लिए, वॉल्ट सेवा का इस्तेमाल करके या पासकोड को एनवायरमेंट वैरिएबल के तौर पर सेट करके. हालांकि, Firebase की सेवाओं के लिए एपीआई पासकोड को कोड या चेक इन की गई कॉन्फ़िगरेशन फ़ाइलों में शामिल किया जा सकता है.

हालांकि, कोड में Firebase सेवाओं के लिए एपीआई कुंजियां शामिल करना सुरक्षित है, लेकिन आपको सही पाबंदियां और सीमाएं देखें और उन्हें लागू करें.

एपीआई पासकोड बनाना

किसी Firebase प्रोजेक्ट में कई एपीआई पासकोड हो सकते हैं. हालांकि, हर एपीआई पासकोड को सिर्फ़ एक Firebase प्रोजेक्ट से जोड़ा जा सकता है.

आपके Firebase ऐप्लिकेशन के लिए, Firebase के ज़रिए अपने-आप जनरेट हुई एपीआई कुंजियां

Firebase आपके प्रोजेक्ट के लिए एपीआई कुंजियां अपने-आप बनाता है, जब आप इनमें से कोई भी काम करते हैं:

  • Firebase प्रोजेक्ट बनाएं > Browser key अपने-आप बनने वाला
  • Firebase Apple ऐप्लिकेशन बनाएं > iOS key अपने-आप बनने वाला
  • Firebase Android ऐप्लिकेशन बनाएं > Android key अपने-आप बनाया गया

यहां अपनी एपीआई कुंजियां भी बनाई जा सकती हैं: Google Cloud कंसोल, उदाहरण के लिए, डेवलपमेंट या डीबगिंग के लिए. इसके बारे में ज़्यादा जानें , तो इस पेज पर बाद में इसका सुझाव दिया जा सकता है.

अपनी एपीआई कुंजियां ढूंढना

आप यहां अपने प्रोजेक्ट की सभी API (एपीआई) कुंजियां देख और प्रबंधित कर सकते हैं: API और सेवाएं > क्रेडेंशियल पैनल से Google Cloud कंसोल में जोड़ सकते हैं.

यहां यह भी देखा जा सकता है कि कौनसी एपीआई पासकोड, Firebase ऐप्लिकेशन से अपने-आप मैच हो जाता है. डिफ़ॉल्ट रूप से, एक ही प्लैटफ़ॉर्म (Apple बनाम Android बनाम वेब) के लिए, आपके प्रोजेक्ट के सभी Firebase ऐप्लिकेशन एक ही एपीआई पासकोड का इस्तेमाल करेंगे.

  • Firebase के Apple ऐप्लिकेशनAPI_KEY फ़ील्ड में, Firebase कॉन्फ़िगरेशन फ़ाइल, GoogleService-Info.plist में अपने-आप मैच होने वाली API कुंजी ढूंढें.

  • Firebase के Android ऐप्लिकेशनgoogle-services.json फ़ील्ड में, Firebase कॉन्फ़िगरेशन फ़ाइल में अपने-आप मैच होने वाली एपीआई पासकोड ढूंढें.

  • Firebase वेब ऐप्लिकेशनapiKey फ़ील्ड में, Firebase कॉन्फ़िगरेशन ऑब्जेक्ट में अपने-आप मैच होने वाली एपीआई पासकोड ढूंढें.

एपीआई पासकोड का इस्तेमाल करना

एपीआई पासकोड का इस्तेमाल, Firebase/Google की सेवाओं के साथ इंटरैक्ट करते समय, आपके Firebase प्रोजेक्ट की पहचान करने के लिए किया जाता है. खास तौर पर, इनका इस्तेमाल कोटा और बिलिंग के लिए, एपीआई अनुरोधों को आपके प्रोजेक्ट से जोड़ने के लिए किया जाता है. वे Google की मदद से सार्वजनिक डेटा.

उदाहरण के लिए, किसी एपीआई पासकोड की वैल्यू को REST में पास करके, उसे साफ़ तौर पर इस्तेमाल किया जा सकता है एपीआई कॉल को क्वेरी पैरामीटर के तौर पर इस्तेमाल करना. इस उदाहरण में, Dynamic Links लिंक छोटा करने वाले एपीआई से अनुरोध करने का तरीका बताया गया है:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY

जब आपका ऐप्लिकेशन किसी ऐसे Firebase API को कॉल करता है जिसके लिए एपीआई पासकोड देना ज़रूरी है मोबाइल/वेब क्लाइंट से, आपका ऐप्लिकेशन अपने आप आपके प्रोजेक्ट की एपीआई कुंजी के लिए, Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट. हालांकि, अपने ऐप्लिकेशन के लिए एपीआई पासकोड देने के लिए, किसी दूसरे तरीके का इस्तेमाल किया जा सकता है. जैसे, एनवायरमेंट वैरिएबल.

एपीआई पासकोड पर सही पाबंदियां देखें और उन्हें लागू करें (सुझाया गया)

Firebase की सेवाओं के लिए एपीआई पासकोड को गुप्त रखने की ज़रूरत नहीं है. हालांकि, आपको इस सेक्शन में बताई गई पाबंदियों और सीमाओं की समीक्षा करनी चाहिए और उन्हें लागू करना चाहिए.

अपनी Firebase एपीआई कुंजियों के लिए, अनुमति वाली सूची में अपने-आप जुड़े एपीआई की समीक्षा करना

जब Firebase आपके प्रोजेक्ट में एपीआई पासकोड बनाता है, तो हम उस पासकोड में "एपीआई से जुड़ी पाबंदियां" अपने-आप जोड़ देते हैं. इस अनुमति वाली सूची में जोड़े गए एपीआई, Firebase से जुड़े एपीआई हैं. इनके लिए, क्लाइंट को कॉल के साथ एपीआई पासकोड देना ज़रूरी है. ध्यान दें कि Firebase की सेवाओं का इस्तेमाल करने के लिए ज़रूरी ज़्यादातर एपीआई को, आपकी एपीआई कुंजियों की अनुमति वाली सूची में शामिल करने की ज़रूरत नहीं होती.

Firebase, सभी Firebase सेवाओं के लिए ज़रूरी एपीआई जोड़ता है. इसलिए, किसी एपीआई पासकोड की अनुमति वाली सूची में ऐसे प्रॉडक्ट के एपीआई शामिल हो सकते हैं जिनका इस्तेमाल नहीं किया जाता. अनुमति वाली सूची से एपीआई हटाए जा सकते हैं. हालांकि, आपको इस बात का ध्यान रखना होगा कि Firebase और इस्तेमाल की जा रही Firebase सेवाओं के लिए ज़रूरी एपीआई को न हटाएं. इसके लिए, Firebase से जुड़े उन एपीआई की सूची देखें जिन्हें हर सेवा / प्रॉडक्ट के लिए अनुमति वाली सूची में शामिल करना ज़रूरी है. नहीं तो, आप Firebase सेवाओं को कॉल करते समय गड़बड़ियां होंगी.

पासवर्ड पर आधारित Authentication का इस्तेमाल करने पर, कोटा को कम करें

अगर पासवर्ड पर आधारित Firebase Authentication का इस्तेमाल किया जाता है और किसी व्यक्ति को आपकी एपीआई पासकोड मिल जाता है, तो वह आपके Firebase प्रोजेक्ट के किसी भी डेटाबेस या Cloud Storage डेटा को नहीं ऐक्सेस कर पाएगा. ऐसा तब तक होगा, जब तक यह डेटा Firebase Security Rules से सुरक्षित रहेगा. हालांकि, वे ऐक्सेस करने के लिए आपके एपीआई पासकोड का इस्तेमाल कर सकते हैं Firebase के पुष्टि करने वाले एंडपॉइंट और इनके लिए पुष्टि करने के अनुरोध करते हैं आपका प्रोजेक्ट.

एपीआई पासकोड के गलत इस्तेमाल की संभावना को कम करने के लिए क्रूर बल हमले का प्रयास करें, तो आप सामान्य ट्रैफ़िक दिखाने के लिए identitytoolkit.googleapis.com एंडपॉइंट ऐप की उम्मीदों का आकलन करने में मदद मिलती है. ध्यान रखें कि अगर आप इस कोटा और अपने ऐप्लिकेशन को सीमित करते हैं अचानक उपयोगकर्ता बढ़ जाते हैं, तो कोटा बढ़ाने तक आपको साइन-इन करने में गड़बड़ियां दिख सकती हैं. Google Cloud कंसोल में जाकर, अपने प्रोजेक्ट के एपीआई कोटा में बदलाव किया जा सकता है.

Firebase के अलावा, किसी भी सेवा के लिए अलग-अलग प्रतिबंधित एपीआई पासकोड का इस्तेमाल करना

आम तौर पर, Firebase की सेवाओं के लिए इस्तेमाल की जाने वाली एपीआई कुंजियों को गुप्त नहीं माना जाता. हालांकि, आपको उन एपीआई कुंजियों के लिए कुछ अतिरिक्त सावधानियां बरतनी चाहिए जिन्हें Google Cloud के अन्य एपीआई के साथ इस्तेमाल किया जाता है.

अगर किसी ऐसे प्लैटफ़ॉर्म पर Google Cloud एपीआई का इस्तेमाल किया जाता है जो Firebase के लिए नहीं है सेवा / प्रॉडक्ट के लिए, हमारा सुझाव है कि आप अलग-अलग एपीआई पासकोड बनाएं. का इस्तेमाल किया जा सकता है. यह खास तौर पर तब ज़रूरी है, जब एपीआई का इस्तेमाल, बिलिंग की सुविधा वाली Google Cloud सेवा के लिए किया जा रहा हो.

उदाहरण के लिए, अगर iOS पर Firebase ML और Cloud Vision API का इस्तेमाल किया जाता है, तो को अलग-अलग एपीआई पासकोड बनाना चाहिए, जिनका इस्तेमाल सिर्फ़ आप करते हैं Cloud Vision API ऐक्सेस करने के लिए.

Firebase के अलावा अन्य एपीआई के लिए, पाबंदी वाली अलग-अलग एपीआई कुंजियों का इस्तेमाल करके, ज़रूरत पड़ने पर कुंजियों को घुमाया या बदला जा सकता है. साथ ही, Firebase की सेवाओं के इस्तेमाल में रुकावट डाले बिना, एपीआई कुंजियों पर और पाबंदियां जोड़ी जा सकती हैं.

एनवायरमेंट के हिसाब से एपीआई पासकोड का इस्तेमाल करें (इसका सुझाव दिया जाता है)

अगर आपने अलग-अलग एनवायरमेंट के लिए अलग-अलग Firebase प्रोजेक्ट सेट अप किए हैं, जैसे कि स्टेजिंग और प्रोडक्शन, तो यह ज़रूरी है कि हर ऐप्लिकेशन इंस्टेंस, अपने संबंधित Firebase प्रोजेक्ट के साथ इंटरैक्ट करे. उदाहरण के लिए, आपके स्टेजिंग ऐप्लिकेशन इंस्टेंस को अपने प्रोडक्शन Firebase प्रोजेक्ट से कभी बात न करें. इसका यह भी मतलब है कि आपके स्टैगिंग ऐप्लिकेशन को, स्टैगिंग Firebase प्रोजेक्ट से जुड़ी एपीआई कुंजियों का इस्तेमाल करना होगा.

डेवलपमेंट से स्टैजिंग और फिर प्रोडक्शन में कोड में किए गए बदलावों को प्रोमोट करने से जुड़ी समस्याओं को कम करने के लिए, कोड में एपीआई कुंजियों को शामिल करने के बजाय, उन्हें एनवायरमेंट वैरिएबल के तौर पर सेट करें या उन्हें कॉन्फ़िगरेशन फ़ाइल में शामिल करें.

ध्यान दें कि अगर Firebase Local Emulator Suite का इस्तेमाल, डेवलपमेंट के लिए किया जा रहा है Firebase ML के साथ आपको सिर्फ़ डीबग एपीआई पासकोड बनाना और इस्तेमाल करना होगा. ग्राहक सूची बनाने का तरीका ऐसी कुंजी बनाने के लिए, आपको Firebase ML दस्तावेज़.

अक्सर पूछे जाने वाले सवाल और समस्या का हल

अक्सर पूछे जाने वाले सवाल

समस्या का हल