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

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

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

साथ ही, पक्का करें कि आपने Firebase के जिन प्रॉडक्ट का इस्तेमाल किया है उनके लिए, सुझाई गई Firebase Security Rules और App Check का इस्तेमाल किया जा रहा हो.

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


इस पेज के बाकी हिस्से में, 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 कंसोल में भी अपने एपीआई पासकोड बनाए जा सकते हैं. उदाहरण के लिए, डेवलपमेंट या डीबग करने के लिए. इस पेज पर आगे जानें कि यह सुझाव कब दिया जा सकता है.

एपीआई पासकोड ढूंढना

Google Cloud कंसोल के एपीआई और सेवाएं > क्रेडेंशियल पेज पर जाकर, अपने प्रोजेक्ट के सभी एपीआई पासकोड देखे और मैनेज किए जा सकते हैं.

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

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

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

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

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

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

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

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

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

https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=API_KEY

एपीआई पासकोड पर लागू पाबंदियों की समीक्षा करना और ज़रूरत के हिसाब से पाबंदियां लगाना

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

अपने 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 का इस्तेमाल करें. खास तौर पर, सार्वजनिक तौर पर ऐक्सेस किए जा सकने वाले एपीआई पासकोड या अन्य सेवाओं के लिए इस्तेमाल किए जाने वाले पासकोड के लिए, अनुमति वाली सूची में Gemini Developer API को कभी शामिल न करें.

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

एनवायरमेंट के हिसाब से एपीआई पासकोड इस्तेमाल करना

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

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

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

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

समस्या का हल