Firebase के लिए, एपीआई पासकोड इस्तेमाल और मैनेज करने के बारे में जानें
संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
एपीआई कुंजी एक यूनीक स्ट्रिंग होती है. इसका इस्तेमाल, Firebase और Google की सेवाओं के साथ इंटरैक्ट करते समय, अनुरोधों को आपके Firebase प्रोजेक्ट पर भेजने के लिए किया जाता है. इस पेज पर, एपीआई पासकोड के बारे में बुनियादी जानकारी दी गई है. साथ ही, Firebase ऐप्लिकेशन के साथ एपीआई पासकोड का इस्तेमाल और उन्हें मैनेज करने के सबसे सही तरीके बताए गए हैं.
एपीआई कुंजियों और Firebase के बारे में सामान्य जानकारी
Firebase के लिए एपीआई कुंजियां, सामान्य एपीआई कुंजियों से अलग होती हैं
आम तौर पर, एपीआई पासकोड का इस्तेमाल जिस तरह से किया जाता है उससे अलग, Firebase सेवाओं के लिए एपीआई पासकोड का इस्तेमाल, बैकएंड संसाधनों के ऐक्सेस को कंट्रोल करने के लिए नहीं किया जाता है. ऐसा सिर्फ़ Firebase Security Rules (यह कंट्रोल करने के लिए कि एंड यूज़र कौनसे संसाधनों को ऐक्सेस कर सकते हैं) और Firebase App Check (यह कंट्रोल करने के लिए कि ऐप्लिकेशन कौनसे संसाधनों को ऐक्सेस कर सकते हैं) के साथ किया जा सकता है.
आम तौर पर, आपको एपीआई कुंजियों की सुरक्षा का पूरा ध्यान रखना चाहिए. उदाहरण के लिए, वॉल्ट सेवा का इस्तेमाल करके या कुंजियों को एनवायरमेंट वैरिएबल के तौर पर सेट करके. हालांकि, Firebase सेवाओं के लिए एपीआई कुंजियों को कोड या चेक-इन कॉन्फ़िगरेशन फ़ाइलों में शामिल किया जा सकता है.
एक Firebase प्रोजेक्ट में कई एपीआई कुंजियां हो सकती हैं. हालांकि, हर एपीआई कुंजी को सिर्फ़ एक Firebase प्रोजेक्ट से जोड़ा जा सकता है.
जब इनमें से कोई कार्रवाई की जाती है, तो Firebase आपके प्रोजेक्ट के लिए एपीआई पासकोड अपने-आप बना देता है:
Firebase प्रोजेक्ट बनाएं > Browser key अपने-आप बन गया
Firebase Apple ऐप्लिकेशन बनाएं > iOS key अपने-आप बन गया
Firebase Android ऐप्लिकेशन बनाएं > Android key अपने-आप बन गया
Google Cloud कंसोल में जाकर, अपनी एपीआई कुंजियां भी बनाई जा सकती हैं. उदाहरण के लिए, डेवलपमेंट या डीबग करने के लिए. इस बारे में ज़्यादा जानें कि इस पेज पर बाद में यह सुझाव कब दिया जा सकता है.
अपनी एपीआई कुंजियां ढूंढना
Google Cloud कंसोल में, एपीआई और सेवाएं > क्रेडेंशियल पैनल में जाकर, अपने प्रोजेक्ट के सभी एपीआई पासकोड देखे और मैनेज किए जा सकते हैं.
Firebase Apple ऐप्लिकेशन — अपने-आप मैच होने वाली एपीआई पासकोड को Firebase कॉन्फ़िगरेशन फ़ाइल, GoogleService-Info.plist में API_KEY फ़ील्ड में ढूंढें.
Firebase Android ऐप्लिकेशन — अपने-आप मैच होने वाली एपीआई कुंजी को Firebase कॉन्फ़िगरेशन फ़ाइल, google-services.json में current_key फ़ील्ड में ढूंढें.
Firebase वेब ऐप्लिकेशन — Firebase कॉन्फ़िगरेशन ऑब्जेक्ट में, अपने-आप मैच होने वाला एपीआई पासकोड ढूंढें. यह apiKey फ़ील्ड में मौजूद होता है.
एपीआई पासकोड का इस्तेमाल करना
एपीआई कुंजियों का इस्तेमाल, Firebase/Google की सेवाओं के साथ इंटरैक्ट करते समय आपके Firebase प्रोजेक्ट की पहचान करने के लिए किया जाता है. खास तौर पर, इनका इस्तेमाल एपीआई अनुरोधों को आपके प्रोजेक्ट से जोड़ने के लिए किया जाता है, ताकि कोटा और बिलिंग की जानकारी मिल सके. ये सार्वजनिक डेटा को ऐक्सेस करने के लिए भी काम आते हैं.
उदाहरण के लिए, एपीआई कुंजी का साफ़ तौर पर इस्तेमाल किया जा सकता है. इसके लिए, क्वेरी पैरामीटर के तौर पर REST
API कॉल में उसकी वैल्यू पास करें. इस उदाहरण में, Dynamic Links लिंक छोटा करने वाले एपीआई से अनुरोध करने का तरीका बताया गया है:
POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY
जब आपका ऐप्लिकेशन, Firebase API को कॉल करता है, तो उसे मोबाइल/वेब क्लाइंट से मिली एपीआई कुंजी की ज़रूरत होती है. ऐसे में, आपका ऐप्लिकेशन आपके प्रोजेक्ट की एपीआई कुंजी के लिए, Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में अपने-आप खोज करेगा. हालांकि, एनवायरमेंट वैरिएबल जैसे किसी दूसरे तरीके का इस्तेमाल करके, अपने ऐप्लिकेशन के लिए एपीआई कुंजियां दी जा सकती हैं.
एपीआई पासकोड पर सही पाबंदियां लगाएं और उनकी समीक्षा करें (सुझाया गया)
हालांकि, Firebase सेवाओं के लिए एपीआई कुंजी को सीक्रेट के तौर पर मानना ज़रूरी नहीं है, लेकिन आपको इस सेक्शन में बताई गई पाबंदियों और सीमाओं की समीक्षा करनी चाहिए और उन्हें लागू करना चाहिए.
उन एपीआई की समीक्षा करें जिन्हें Firebase API कुंजियों के लिए, अनुमति वाली सूची में अपने-आप जोड़ दिया गया है
जब 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 API का इस्तेमाल किया जाता है जो Firebase सेवा / प्रॉडक्ट के लिए नहीं है, तो हमारा सुझाव है कि उन एपीआई के साथ इस्तेमाल करने के लिए, अलग से एपीआई पासकोड बनाएं. साथ ही, उन पर पाबंदियां लगाएं. अगर एपीआई, बिलिंग वाली Google Cloud सेवा के लिए है, तो यह खास तौर पर ज़रूरी है.
उदाहरण के लिए, अगर iOS पर Firebase ML और Cloud Vision API का इस्तेमाल किया जाता है, तो आपको अलग-अलग एपीआई पासकोड बनाने चाहिए. इनका इस्तेमाल सिर्फ़ Cloud Vision API को ऐक्सेस करने के लिए किया जाना चाहिए.
Firebase के अलावा अन्य एपीआई के लिए, पाबंदियों वाली अलग-अलग एपीआई कुंजियों का इस्तेमाल करके, ज़रूरत पड़ने पर कुंजियों को रोटेट या बदला जा सकता है. साथ ही, Firebase सेवाओं के इस्तेमाल में कोई रुकावट डाले बिना, एपीआई कुंजियों पर अतिरिक्त पाबंदियां लगाई जा सकती हैं.
एपीआई के लिए खास पासकोड बनाने से जुड़े निर्देश देखें
इन निर्देशों में, Super Service API नाम के फ़र्ज़ी एपीआई के लिए, पाबंदियों वाला अलग एपीआई पासकोड बनाने का तरीका बताया गया है.
पहला चरण: Super Service API को ऐक्सेस करने की अनुमति न देने के लिए, अपने मौजूदा एपीआई पासकोड कॉन्फ़िगर करना
Google Cloud कंसोल के क्रेडेंशियल पेज को खोलें. जब कहा जाए, तब अपना प्रोजेक्ट चुनें.
सूची में मौजूद हर मौजूदा एपीआई पासकोड के लिए, बदलाव करने का व्यू खोलें.
एपीआई से जुड़ी पाबंदियां सेक्शन में, कुंजी पर पाबंदी लगाएं को चुनें. इसके बाद, उन सभी एपीआई को सूची में जोड़ें जिनका ऐक्सेस आपको एपीआई कुंजी को देना है. पक्का करें कि आपने उस एपीआई को शामिल न किया हो जिसके लिए आपको अलग एपीआई पासकोड बनाना है. इस उदाहरण में, Super Service API को शामिल नहीं किया गया है.
किसी एपीआई कुंजी के लिए एपीआई से जुड़ी पाबंदियां कॉन्फ़िगर करने का मतलब है कि आपने साफ़ तौर पर यह बताया है कि कुंजी किन एपीआई को ऐक्सेस कर सकती है. डिफ़ॉल्ट रूप से, जब एपीआई से जुड़ी पाबंदियां सेक्शन में कुंजी पर पाबंदी न लगाएं विकल्प चुना जाता है, तब एपीआई कुंजी का इस्तेमाल करके, प्रोजेक्ट के लिए चालू किए गए किसी भी एपीआई को ऐक्सेस किया जा सकता है.
अब आपकी मौजूदा एपीआई कुंजियों से Super Service API का ऐक्सेस नहीं मिलेगा. हालांकि, हर कुंजी उन सभी एपीआई के लिए काम करती रहेगी जिन्हें आपने उसकी एपीआई से जुड़ी पाबंदियां सूची में जोड़ा है.
दूसरा चरण: Super Service API को ऐक्सेस करने के लिए, नई एपीआई कुंजी बनाएं और उसका इस्तेमाल करें
क्रेडेंशियल पेज पर वापस जाएं. पक्का करें कि आपका Firebase प्रोजेक्ट अब भी चुना गया हो.
क्रेडेंशियल बनाएं > एपीआई पासकोड पर क्लिक करें. नए एपीआई पासकोड को नोट करें. इसके बाद, कुंजी को सीमित करें पर क्लिक करें.
एपीआई से जुड़ी पाबंदियां सेक्शन में, कुंजी पर पाबंदी लगाएं को चुनें. इसके बाद, सूची में सिर्फ़Super Service API जोड़ें.
इस नई एपीआई कुंजी से, सिर्फ़ Super Service API को ऐक्सेस किया जा सकता है.
नई एपीआई कुंजी का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन और सेवाओं को कॉन्फ़िगर करें.
एनवायरमेंट के हिसाब से एपीआई पासकोड इस्तेमाल करना (सुझाया गया)
अगर आपने अलग-अलग एनवायरमेंट, जैसे कि स्टेजिंग और प्रोडक्शन के लिए अलग-अलग Firebase प्रोजेक्ट सेट अप किए हैं, तो यह ज़रूरी है कि हर ऐप्लिकेशन इंस्टेंस, अपने Firebase प्रोजेक्ट से इंटरैक्ट करे. उदाहरण के लिए, आपके स्टेजिंग ऐप्लिकेशन इंस्टेंस को कभी भी प्रोडक्शन Firebase प्रोजेक्ट से कम्यूनिकेट नहीं करना चाहिए. इसका यह भी मतलब है कि आपके स्टेजिंग ऐप्लिकेशन को, स्टेजिंग Firebase प्रोजेक्ट से जुड़े एपीआई कुंजियों का इस्तेमाल करना होगा.
डेवलपमेंट से लेकर स्टेजिंग और प्रोडक्शन तक, कोड में किए गए बदलावों को प्रमोट करने से जुड़ी समस्याओं को कम करने के लिए, कोड में एपीआई कुंजियां शामिल करने के बजाय, उन्हें एनवायरमेंट वैरिएबल के तौर पर सेट करें या उन्हें कॉन्फ़िगरेशन फ़ाइल में शामिल करें.
ध्यान दें कि अगर आपको डेवलपमेंट के लिए Firebase Local Emulator Suite के साथ-साथ Firebase ML का इस्तेमाल करना है, तो आपको सिर्फ़ डीबग करने के लिए एपीआई पासकोड बनाना और उसका इस्तेमाल करना होगा. इस तरह की कुंजी बनाने के निर्देश, Firebase ML दस्तावेज़ में दिए गए हैं.
अक्सर पूछे जाने वाले सवाल और समस्या हल करना
अक्सर पूछे जाने वाले सवाल
क्या Firebase सेवाओं के लिए एपीआई पासकोड पर डिफ़ॉल्ट रूप से पाबंदी लगी होती है?
हां, डिफ़ॉल्ट रूप से, Firebase से जुड़े एपीआई के साथ इस्तेमाल करने के लिए, Firebase अपने-आप सभी एपीआई कुंजियां उपलब्ध कराता है. इन सभी कुंजियों पर "एपीआई से जुड़ी पाबंदियां" अपने-आप लागू हो जाती हैं. अनुमति वाली इस सूची में शामिल, Firebase से जुड़े एपीआई की सूची देखें.
इस अनुमति वाली सूची में जोड़े गए एपीआई, क्लाइंट-कोड से Firebase सेवाओं के ज़रिए कॉल किए जाते हैं. साथ ही, इन्हें आपके Firebase प्रोजेक्ट या ऐप्लिकेशन की पहचान करने के लिए एपीआई पासकोड की ज़रूरत होती है. ध्यान दें कि Firebase सेवाओं का इस्तेमाल करने के लिए ज़रूरी ज़्यादातर एपीआई को, आपके एपीआई पासकोड के लिए अनुमति वाली सूची में शामिल करने की ज़रूरत नहीं होती.
Firebase, Firebase की सभी सेवाओं के लिए ज़रूरी एपीआई जोड़ता है. इसलिए, एपीआई कुंजी के लिए अनुमति वाली सूची में ऐसे प्रॉडक्ट के एपीआई शामिल हो सकते हैं जिनका इस्तेमाल नहीं किया जाता. एपीआई को अनुमति वाली सूची से हटाया जा सकता है. हालांकि, आपको यह पक्का करना होगा कि Firebase और Firebase की उन सेवाओं के लिए ज़रूरी एपीआई न हटाए जाएं जिनका इस्तेमाल किया जा रहा है. इसके लिए, Firebase से जुड़े उन एपीआई की सूची देखें जिन्हें हर सेवा / प्रॉडक्ट के लिए अनुमति वाली सूची में शामिल करना ज़रूरी है. ऐसा न करने पर, आपको Firebase सेवाओं को कॉल करते समय गड़बड़ियां मिलेंगी.
Google Cloud कंसोल में, एपीआई और सेवाएं > क्रेडेंशियल पैनल में जाकर, अपने सभी एपीआई पासकोड और उन पर लगी "एपीआई पाबंदियां" देखी जा सकती हैं.
"एपीआई से जुड़ी पाबंदियों" को Firebase कैसे लागू करता है, इसके बारे में यहां बताया गया है:
मई 2024 से, Firebase की ओर से अपने-आप उपलब्ध कराए गए सभी नए एपीआई कुंजियों को Firebase से जुड़े एपीआई की सूची के लिए अपने-आप सीमित कर दिया जाएगा.
मई 2024 के दौरान, Firebase ने पहले से मौजूद और बिना किसी पाबंदी वाले सभी एपीआई कुंजियों को अपने-आप उपलब्ध कराया था. अब इन कुंजियों का इस्तेमाल सिर्फ़ Firebase से जुड़े एपीआई की सूची में शामिल एपीआई के लिए किया जा सकता है. इसके अलावा, इनका इस्तेमाल प्रोजेक्ट के लिए फ़िलहाल चालू किए गए किसी भी एपीआई के लिए किया जा सकता है.
Firebase ने जिन मौजूदा और पहले से प्रतिबंधित एपीआई कुंजियों को पहले अपने-आप उपलब्ध कराया था उनमें कोई बदलाव नहीं किया गया.
ऐसे मौजूदा एपीआई कुंजियों में कोई बदलाव नहीं किया गया जिन्हें Firebase ने अपने-आप उपलब्ध नहीं कराया था.
मुझे कैसे पता चलेगा कि मेरे Firebase ऐप्लिकेशन से कौनसी एपीआई कुंजी जुड़ी है?
यह पता लगाने के लिए कि आपके Firebase ऐप्लिकेशन से कौनसी एपीआई कुंजी जुड़ी है, इनमें से किसी भी विकल्प का इस्तेमाल किया जा सकता है:
Firebase कंसोल
settingsप्रोजेक्ट की सेटिंग पर जाएं. इसके बाद, नीचे की ओर स्क्रोल करके आपके ऐप्लिकेशन कार्ड पर जाएं.
अपनी पसंद का ऐप्लिकेशन चुनें.
जिस ऐप्लिकेशन के लिए आपको एपीआई पासकोड चाहिए उसकी Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट पाएं. इसके बाद, उसका एपीआई पासकोड ढूंढें:
Apple: GoogleService-Info.plist डाउनलोड करें. इसके बाद, API_KEY फ़ील्ड ढूंढें
Android: google-services.json डाउनलोड करें. इसके बाद, जिस ऐप्लिकेशन के लिए कॉन्फ़िगरेशन ढूंढना है उसका पैकेज नाम ढूंढें. इसके बाद, current_key फ़ील्ड ढूंढें
वेब: कॉन्फ़िगरेशन विकल्प चुनें. इसके बाद, apiKey फ़ील्ड ढूंढें
Firebase सीएलआई
यहां दिया गया कमांड चलाकर, अपने पसंदीदा ऐप्लिकेशन के लिए Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट पाएं:
firebase apps:sdkconfig PLATFORMFIREBASE_APP_ID
PLATFORM (इनमें से एक): IOS | ANDROID | WEB
FIREBASE_APP_ID: यह आपके Firebase ऐप्लिकेशन के लिए, Firebase की ओर से असाइन किया गया यूनीक आइडेंटिफ़ायर है (अपना ऐप्लिकेशन आईडी ढूंढें)
ऐप्लिकेशन के प्रिंट किए गए Firebase कॉन्फ़िगरेशन में, उसकी एपीआई कुंजी ढूंढें:
Apple: API_KEY फ़ील्ड ढूंढें
Android: अपनी पसंद के ऐप्लिकेशन का कॉन्फ़िगरेशन ढूंढें. इसके लिए, उसका पैकेज का नाम देखें. इसके बाद, current_key फ़ील्ड ढूंढें
वेब: apiKey फ़ील्ड ढूंढें
REST API
जिस ऐप्लिकेशन के लिए आपको एपीआई कुंजी का इस्तेमाल करना है उसके लिए, लागू होने वाले एंडपॉइंट को कॉल करके, एपीआई कुंजी का apiKeyId (यूआईडी) पाएं. इसके बाद, अगले चरण में apiKeyId की वैल्यू पास करें.
यह keyString वही वैल्यू है जो ऐप्लिकेशन के कॉन्फ़िगरेशन आर्टफ़ैक्ट (Apple | Android | वेब) में मिलती है.
क्या मेरे पास Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में, एक ही Firebase ऐप्लिकेशन के लिए दो एपीआई कुंजियां लिस्ट करने का विकल्प है?
Firebase Apple ऐप्लिकेशन — हर ऐप्लिकेशन की अपनी कॉन्फ़िगरेशन फ़ाइल होती है. साथ ही, इसमें सिर्फ़ एक एपीआई कुंजी शामिल की जा सकती है.
Firebase का इस्तेमाल करके बनाए गए Android ऐप्लिकेशन — Firebase प्रोजेक्ट में मौजूद सभी Android ऐप्लिकेशन, एक ही कॉन्फ़िगरेशन फ़ाइल में शामिल होते हैं. साथ ही, हर ऐप्लिकेशन के लिए, सिर्फ़ एक एपीआई कुंजी शामिल की जा सकती है. हालांकि, इस कॉन्फ़िगरेशन फ़ाइल में मौजूद हर ऐप्लिकेशन के लिए, अलग-अलग कुंजियां दी जा सकती हैं.
Firebase वेब ऐप्लिकेशन — हर ऐप्लिकेशन का अपना कॉन्फ़िगरेशन ऑब्जेक्ट होता है. साथ ही, इसमें सिर्फ़ एक एपीआई कुंजी दिख सकती है.
हालांकि, एक ऐप्लिकेशन के साथ एक से ज़्यादा एपीआई पासकोड इस्तेमाल किए जा सकते हैं. आपको अपने ऐप्लिकेशन के लिए, इन अन्य एपीआई पासकोड को ऐक्सेस करने का तरीका उपलब्ध कराना होगा. जैसे, एनवायरमेंट वैरिएबल के ज़रिए. अन्य एपीआई कुंजियों को ऐक्सेस करने का तरीका, इस बात पर निर्भर नहीं होना चाहिए कि वे एपीआई कुंजियां आपकी Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में शामिल हैं या नहीं.
Firebase को यह कैसे पता चलता है कि किस ऐप्लिकेशन के लिए कौनसी एपीआई कुंजी का इस्तेमाल करना है (जैसे, Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में)?
अगर Firebase को मेल खाने वाली कोई भी प्रतिबंधित कुंजी नहीं मिलती है, तो वह कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में, Apple ऐप्लिकेशन के लिए iOS key, Android ऐप्लिकेशन के लिए Android key, और वेब ऐप्लिकेशन के लिए Browser key को सूची में शामिल करेगा. ऐसा तब होगा, जब ये कुंजियां मौजूद हों और इन पर "ऐप्लिकेशन से जुड़ी पाबंदियां" न लगी हों, ताकि ये उस ऐप्लिकेशन से मेल खा सकें.
क्या Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट से एपीआई पासकोड और फ़ील्ड को मैन्युअल तरीके से मिटाया जा सकता है?
हां, कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट से अपनी एपीआई कुंजी को मैन्युअल तरीके से मिटाया जा सकता है. हालांकि,
आपको अपने ऐप्लिकेशन के लिए, एपीआई कुंजी को ऐक्सेस करने का कोई दूसरा तरीका उपलब्ध कराना होगा
(जैसे कि एनवायरमेंट वैरिएबल के ज़रिए). इसके अलावा, Firebase सेवाओं पर किए गए कॉल कनेक्ट नहीं हो पाएंगे.
क्या अलग-अलग एपीआई कुंजियों की मदद से, Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट को मैन्युअल तरीके से बदला जा सकता है?
हां, किसी ऐप्लिकेशन के साथ कोई दूसरी एपीआई कुंजी जोड़ने के लिए, कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में मैन्युअल तरीके से बदलाव किया जा सकता है.
क्या किसी एपीआई पासकोड को एक Firebase प्रोजेक्ट से दूसरे Firebase प्रोजेक्ट में ट्रांसफ़र किया जा सकता है?
नहीं, एपीआई कुंजी सिर्फ़ किसी प्रोजेक्ट की पहचान करती है. इसे किसी दूसरे प्रोजेक्ट में ट्रांसफ़र नहीं किया जा सकता.
अगर मैं Google Cloud कंसोल में मौजूद किसी एपीआई कुंजी को मिटा दूं, तो क्या होगा?
अगर आपने किसी ऐसे एपीआई कुंजी को मिटा दिया है जिसका इस्तेमाल कोई ऐप्लिकेशन कर रहा है, तो उस ऐप्लिकेशन से किए गए एपीआई कॉल पूरे नहीं हो पाएंगे. आपको ऐसी रिपोर्ट, ईमेल या गड़बड़ियां दिख सकती हैं जिनमें बताया गया हो कि आपने अमान्य एपीआई पासकोड का इस्तेमाल करने की कोशिश की है.
किसी एपीआई पासकोड को मिटाने के बाद, उसे वापस नहीं लाया जा सकता.
Firebase API कुंजी के लिए, "एपीआई से जुड़ी पाबंदियां" की अनुमति वाली सूची में कौनसे एपीआई शामिल होने चाहिए?
Firebase API पासकोड के लिए, सिर्फ़ उन एपीआई को पासकोड की "एपीआई से जुड़ी पाबंदियां" की अनुमति वाली सूची में शामिल करना ज़रूरी है जिनके लिए क्लाइंट को कॉल के साथ एपीआई पासकोड देना होता है. ध्यान दें कि Firebase से जुड़े कुछ ही एपीआई के लिए यह ज़रूरी है. आपके प्रोजेक्ट में चालू किए गए, Firebase से जुड़े ज़्यादातर एपीआई को कुंजी की "एपीआई से जुड़ी पाबंदियां" की अनुमति वाली सूची में शामिल करने की ज़रूरत नहीं होती.
नीचे दी गई टेबल का इस्तेमाल करके यह तय करें कि Firebase से जुड़े किन एपीआई को Firebase API कुंजी के लिए, "एपीआई से जुड़ी पाबंदियां" की अनुमति वाली सूची में शामिल करना है. ध्यान रखें कि Firebase API कुंजियों का इस्तेमाल सिर्फ़ Firebase सेवाओं के लिए किया जाना चाहिए. खास तरह के एपीआई के लिए, अलग-अलग और पाबंदी वाले एपीआई कुंजियां बनाने के बारे में ज़्यादा जानें.
Google Cloud कंसोल में, एपीआई और सेवाएं > क्रेडेंशियल पैनल में जाकर, अपने प्रोजेक्ट के एपीआई पासकोड देखे और मैनेज किए जा सकते हैं.
* यह सिर्फ़ तब ज़रूरी है, जब तीसरे पक्ष के टूल के साथ Firebase API कुंजी का इस्तेमाल किया जा रहा हो या Firebase सेवा / प्रॉडक्ट को सीधे तौर पर REST ऐक्सेस किया जा रहा हो.
** प्रॉडक्ट के SDK टूल के पुराने वर्शन के लिए ज़रूरी है. अगर एसडीके टूल का नया वर्शन इस्तेमाल किया जा रहा है, तो एपीआई को कुंजी की अनुमति वाली सूची में शामिल करने की ज़रूरत नहीं है.
समस्या का हल
मैं API_KEY_SERVICE_BLOCKED या Forbidden 403 गड़बड़ी को कैसे ठीक करूं? इस गड़बड़ी में बताया गया है कि इस एपीआई के अनुरोध ब्लॉक कर दिए गए हैं.
अगर आपको API_KEY_SERVICE_BLOCKEDगड़बड़ी का मैसेज मिल रहा है या इस तरह की कोई गड़बड़ी दिख रही है, तो इस अक्सर पूछे जाने वाले सवाल में दिए गए निर्देशों का पालन करें:
Forbidden: 403 POST https://example-service.googleapis.com/method: Requests to this API example-service.googleapis.com method google.example-service.rest.method are blocked.
आपके ऐप्लिकेशन में, एपीआई को कॉल करने के लिए इस्तेमाल की गई एपीआई कुंजी पर शायद "एपीआई से जुड़ी पाबंदियां" लागू हैं. साथ ही, कुंजी की अनुमति वाली सूची में वह एपीआई शामिल नहीं है.
अगर आपको Firebase से जुड़ी सेवा के अलावा किसी अन्य सेवा का इस्तेमाल करते समय यह गड़बड़ी दिख रही है, तो हमारा सुझाव है कि आप उस सेवा और एपीआई के लिए, नई एपीआई कुंजी बनाएं. Firebase API कुंजियों का इस्तेमाल सिर्फ़ Firebase की सेवाओं / प्रॉडक्ट के लिए किया जाना चाहिए.
खास तरह के एपीआई के लिए, अलग-अलग और पाबंदियों वाले एपीआई पासकोड बनाने के बारे में ज़्यादा जानें.
मैं इस गड़बड़ी को कैसे ठीक करूं? "सर्वर से, इस Firebase ऐप्लिकेशन का मेज़रमेंट आईडी फ़ेच नहीं किया जा सका."
आपके वेब ऐप्लिकेशन में इस्तेमाल की गई एपीआई कुंजी पर शायद "एपीआई से जुड़ी पाबंदियां" लागू हैं. अगर ऐसा है, तो पक्का करें कि Firebase Management API को अनुमति वाले एपीआई की सूची में शामिल किया गया हो.
मुझे एक ईमेल मिला है या गड़बड़ी का मैसेज मिला है. इसमें बताया गया है कि मेरा एपीआई पासकोड अमान्य है. ऐसा क्यों हुआ और इसे ठीक करने के लिए, मुझे क्या करना होगा?
अमान्य एपीआई कुंजियों की कुछ सबसे आम वजहें यहां दी गई हैं:
एपीआई पासकोड पर "एपीआई पासकोड से जुड़ी पाबंदियां" लागू हैं. इसलिए, यह पासकोड उस ऐप्लिकेशन से मेल नहीं खाता जो इसका इस्तेमाल करने की कोशिश कर रहा है ("ऐप्लिकेशन से जुड़ी पाबंदियां"). इसके अलावा, यह पासकोड उस एपीआई के लिए भी इस्तेमाल नहीं किया जा सकता जिसे कॉल किया जा रहा है ("एपीआई से जुड़ी पाबंदियां").
एपीआई कुंजी को Google Cloud कंसोल में मौजूद प्रोजेक्ट से मिटा दिया गया है.
एपीआई कुंजी, ऐप्लिकेशन की Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में दिए गए प्रोजेक्ट आईडी के लिए नहीं बनाई गई थी.
[[["समझने में आसान है","easyToUnderstand","thumb-up"],["मेरी समस्या हल हो गई","solvedMyProblem","thumb-up"],["अन्य","otherUp","thumb-up"]],[["वह जानकारी मौजूद नहीं है जो मुझे चाहिए","missingTheInformationINeed","thumb-down"],["बहुत मुश्किल है / बहुत सारे चरण हैं","tooComplicatedTooManySteps","thumb-down"],["पुराना","outOfDate","thumb-down"],["अनुवाद से जुड़ी समस्या","translationIssue","thumb-down"],["सैंपल / कोड से जुड़ी समस्या","samplesCodeIssue","thumb-down"],["अन्य","otherDown","thumb-down"]],["आखिरी बार 2025-09-06 (UTC) को अपडेट किया गया."],[],[],null,[]]