Admin Auth API के बारे में जानकारी

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

यूज़र मैनेजमेंट

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

पसंद के मुताबिक पुष्टि करना

बाहरी उपयोगकर्ता सिस्टम को Firebase के साथ इंटिग्रेट किया जा सकता है. उदाहरण के लिए, हो सकता है कि आपके पास पहले से कोई उपयोगकर्ता डेटाबेस हो या आप तीसरे पक्ष के किसी ऐसे आइडेंटिटी प्रोवाइडर के साथ इंटिग्रेट करना चाहें जिसका इस्तेमाल, Firebase से पुष्टि करने की सुविधा स्थानीय तौर पर नहीं करती है.

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

पहचान की पुष्टि करना

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

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

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

पसंद के मुताबिक उपयोगकर्ता दावे

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

यूज़र मैनेजमेंट

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

उपयोगकर्ताओं को मैनेज करें

कस्टम टोकन बनाना

कस्टम टोकन बनाने का मुख्य इस्तेमाल, उपयोगकर्ताओं को बाहरी या लेगसी पुष्टि करने के तरीके की मदद से पुष्टि करने की अनुमति देना है. यह एक ऐसा कैंपेन हो सकता है जिसे आप कंट्रोल कर सकते हैं, जैसे कि LDAP सर्वर या तीसरे पक्ष का कोई OAuth प्रोवाइडर. यह ऐसा OAuth या ऐसी सेवा देने वाला हो सकता है जो Firebase से मूल रूप से काम नहीं करता, जैसे कि Instagram या LinkedIn.

Firebase एडमिन SDK में, कस्टम टोकन बनाने का एक तरीका पहले से मौजूद है. तीसरे पक्ष की JWT लाइब्रेरी का इस्तेमाल करके, प्रोग्राम बनाकर किसी भी भाषा में कस्टम टोकन बनाए जा सकते हैं.

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

कस्टम टोकन बनाना

आईडी टोकन की पुष्टि

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

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

आईडी टोकन की पुष्टि करें

कस्टम उपयोगकर्ता के दावे

Firebase एडमिन SDK टूल की मदद से, उपयोगकर्ता खातों पर कस्टम एट्रिब्यूट सेट किए जा सकते हैं. उपयोगकर्ताओं की पसंद के मुताबिक दावों की मदद से, उपयोगकर्ताओं को अलग-अलग लेवल का ऐक्सेस (भूमिकाएं) दिया जा सकता है. इसके बाद, उन्हें ऐप्लिकेशन के सुरक्षा से जुड़े नियमों के तहत लागू किया जाता है.

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

कस्टम दावों की मदद से ऐक्सेस कंट्रोल करना