Google Identity टूलकिट से Firebase से पुष्टि पर माइग्रेट करें

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

नई सुविधाएं

Firebase से पुष्टि करने की सुविधा में, Google Identity टूलकिट की तुलना में पहले से ही, कुछ सुविधाओं को बेहतर बनाया गया है:

  • Firebase की सभी सुविधाओं का ऐक्सेस

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

  • अपडेट किए गए यूज़र इंटरफ़ेस (यूआई)

    हमने यूज़र इंटरफ़ेस (यूआई) फ़्लो को पूरी तरह से फिर से बनाया है, जो Google की नई UX रिसर्च पर आधारित है. इसमें पासवर्ड वापस पाना, खाता लिंक करना, नए/मौजूदा खाते को साफ़ तौर पर बताने वाले फ़्लो शामिल हैं, जिन्हें कोड करने और डीबग करने में अक्सर काफ़ी समय लगता है. यह Android पर पासवर्ड के लिए Smart Lock को एकीकृत करता है, जिससे भाग लेने वाले ऐप्लिकेशन के लिए प्रवेश और साइन-अप रूपांतरण को काफ़ी बेहतर बनाया गया है. साथ ही, इससे आपके ऐप्लिकेशन के हिसाब से, थीम में आसानी से बदलाव किए जा सकते हैं. साथ ही, Android और iOS के सभी वर्शन ओपन सोर्स किए गए हैं, ताकि उन्हें पसंद के मुताबिक बनाया जा सके.

  • सर्वर को आसानी से सेटअप करना

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

  • नया Admin console

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

  • नए SDK टूल

    Identity टूलकिट के सभी सर्वर एपीआई अब हमारी हर क्लाइंट लाइब्रेरी (Android, iOS, वेब) के साथ मूल रूप से उपलब्ध हैं. तय यूज़र इंटरफ़ेस (यूआई) से जुड़े बिना, डेवलपर पुराने और नए उपयोगकर्ताओं में साइन इन कर सकेंगे और उन्हें साइन अप कर सकेंगे, उपयोगकर्ता प्रॉपर्टी को ऐक्सेस कर सकेंगे, उन्हें लिंक कर सकेंगे, उन्हें अपडेट और मिटा सकेंगे, और पासवर्ड रीसेट कर सकेंगे. इनके अलावा भी बहुत कुछ किया जा सकेगा. अगर आप चाहें, तो इस एपीआई का इस्तेमाल करके मैन्युअल तरीके से अपना पूरा साइन इन फ़्लो और अनुभव बनाया जा सकता है.

  • मोबाइल ऐप्लिकेशन के लिए सेशन मैनेजमेंट

    पहचान टूलकिट की मदद से, ऐप्लिकेशन ने Identity Toolkit से पहली बार पुष्टि करने वाले इवेंट के आधार पर अपनी खुद की सेशन स्थिति बनाई. Firebase पुष्टि ऐसी बैकएंड सेवा का इस्तेमाल करती है जो पुष्टि करने वाले इवेंट से लिया गया रीफ़्रेश टोकन लेता है. साथ ही, इसे Android, iOS, और JavaScript के लिए एक घंटे के ऐक्सेस टोकन से एक्सचेंज करता है. जब कोई उपयोगकर्ता अपना पासवर्ड बदलता है, तो रीफ़्रेश टोकन अब नए ऐक्सेस टोकन जनरेट नहीं कर पाएंगे. इसकी वजह से, जब तक उपयोगकर्ता उस डिवाइस पर फिर से पुष्टि नहीं करता, तब तक ऐक्सेस टोकन बंद हो जाता है.

  • पहचान छिपाकर GitHub से पुष्टि करना

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

सुविधाओं में अंतर

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

सर्वर साइड में अंतर

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

  • पहचान ज़ाहिर करने वाली कंपनियां

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

  • सर्वर लाइब्रेरी

    फ़िलहाल, Java, Node.js, Python, Go, और C# के लिए, Firebase एडमिन SDK टूल उपलब्ध हैं.

  • खाते के मैनेजमेंट से जुड़े ईमेल

    पासवर्ड रीसेट करने, ईमेल की पुष्टि करने, और ईमेल में बदलाव के मैसेज को Firebase या डेवलपर के मेल सर्वर से परफ़ॉर्म किया जा सकता है. फ़िलहाल, Firebase ईमेल टेंप्लेट सिर्फ़ सीमित पसंद के मुताबिक बनाने की सुविधा देते हैं.

  • ईमेल पता बदलने की पुष्टि करना

    जब कोई उपयोगकर्ता पहचान टूलकिट में अपना ईमेल पता बदलने का फ़ैसला करता है, तो वह उस नए पते पर एक ईमेल भेजता है. इस ईमेल में, ईमेल पता बदलने की प्रक्रिया को जारी रखने के लिए एक लिंक होता है.

    Firebase, पुराने ईमेल पते पर सहमति रद्द करने का एक ईमेल भेजता है. इसमें बदलाव को पहले जैसा करने के लिए, एक लिंक होता है.

  • आईडीपी (IdP) का रोल आउट

    Identity टूलकिट में धीरे-धीरे, आपके साइन-इन सिस्टम में पहचान देने वाली सेवा जोड़ने की सुविधा थी, ताकि आप अपने सहायता अनुरोधों पर पड़ने वाले असर के साथ प्रयोग कर सकें. Firebase से पुष्टि करने की प्रक्रिया के तहत यह सुविधा हटा दी गई.

क्लाइंट साइड में अंतर

Firebase में, Google Identity Toolkit से मिलने वाली सुविधाएं दो कॉम्पोनेंट में बंटी होती हैं:

  • Firebase से पुष्टि करने के लिए इस्तेमाल किए जाने वाले SDK टूल

    Firebase से पुष्टि करने की सुविधा में, Identity Toolkit के REST API से मिलने वाले फ़ंक्शन को Android, iOS, और JavaScript के लिए उपलब्ध क्लाइंट SDK टूल में पैकेज किया जाता है. SDK टूल का इस्तेमाल, लोगों को साइन इन और साइन अप करने, उपयोगकर्ता की प्रोफ़ाइल की जानकारी ऐक्सेस करने, खाते लिंक करने, अपडेट करने, और उन्हें मिटाने के लिए किया जा सकता है. REST कॉल के ज़रिए बैक एंड सेवा से संपर्क करने के बजाय, क्लाइंट SDK टूल का इस्तेमाल करके पासवर्ड रीसेट किए जा सकते हैं.

  • FirebaseUI पुष्टि

    साइन-इन, साइन-अप, पासवर्ड वापस पाने, और खाता लिंक करने की प्रोसेस को मैनेज करने वाले सभी यूज़र इंटरफ़ेस (यूआई) फ़्लो को Frebase Authentication SDK टूल का इस्तेमाल करके फिर से बनाया गया है. ये iOS और Android के लिए ओपन सोर्स SDK टूल के तौर पर उपलब्ध हैं. इनकी मदद से, दिए गए फ़्लो को ज़रूरत के मुताबिक बनाया जा सकता है. ऐसा उन तरीकों से किया जा सकता है जो Identity टूलकिट के साथ मुमकिन नहीं है.

अन्य अंतरों में ये शामिल हैं:

  • सेशन और माइग्रेशन

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

वेब कंटेनर इंस्टॉल करने से पहले

पहचान टूलकिट से Firebase पुष्टि करने पर माइग्रेट करने से पहले, आपको ये काम करने होंगे

  1. Firebase कंसोल खोलें. Google प्रोजेक्ट इंपोर्ट करें पर क्लिक करें और अपना Identity टूलकिट प्रोजेक्ट चुनें.

  2. IAM और एडमिन पेज खोलने के लिए, > अनुमतियां पर क्लिक करें.

  3. सेवा खाते पेज खोलें. यहां वह सेवा खाता देखा जा सकता है जिसे आपने पहचान टूलकिट के लिए, पहले कॉन्फ़िगर किया था.

  4. सेवा खाते के बगल में, > पासकोड बनाएं पर क्लिक करें. इसके बाद, निजी पासकोड बनाएं डायलॉग में, 'की' के टाइप को JSON पर सेट करें और बनाएं पर क्लिक करें. आपके सेवा खाते के क्रेडेंशियल वाली JSON फ़ाइल डाउनलोड की जाती है. अगले चरण में SDK टूल शुरू करने के लिए, आपको इसकी ज़रूरत पड़ेगी.

  5. Firebase कंसोल पर वापस जाएं. अनुमति वाले सेक्शन में, ईमेल के टेंप्लेट पेज खोलें. इस पेज पर, अपने ऐप्लिकेशन के ईमेल टेंप्लेट को पसंद के मुताबिक बनाएं.

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

  6. ज़रूरी नहीं: अगर आपको अपने सर्वर पर Firebase की सेवाएं ऐक्सेस करनी हैं, तो Firebase SDK टूल इंस्टॉल करें.

    1. npm की मदद से, Firebase Node.js मॉड्यूल इंस्टॉल किया जा सकता है:

      $ npm init
      $ npm install --save firebase-admin
      
    2. अपने कोड में, इनका इस्तेमाल करके Firebase को ऐक्सेस किया जा सकता है:

      var admin = require('firebase-admin');
      var app = admin.initializeApp({
        credential: admin.credential.cert('path/to/serviceAccountCredentials.json')
      });
      

इसके बाद, अपने ऐप्लिकेशन के प्लैटफ़ॉर्म के लिए, माइग्रेशन के इन चरणों को पूरा करें: Android, iOS, वेब.

सर्वर और JavaScript

अहम बदलाव

Identity टूलकिट से Firebase को वेब पर लागू करने में कई और अंतर हैं.

  • वेब सेशन मैनेजमेंट

    पहले, जब कोई उपयोगकर्ता Identity Toolkit विजेट की मदद से पुष्टि करता था, तो उसके लिए एक कुकी सेट की जाती थी. इसका इस्तेमाल सेशन को बूटस्ट्रैप करने के लिए किया जाता था. यह कुकी दो हफ़्ते तक काम करती थी और इसका इस्तेमाल उपयोगकर्ता को खाता मैनेजमेंट विजेट का इस्तेमाल करके, पासवर्ड और ईमेल पता बदलने की अनुमति देने के लिए किया गया था. कुछ साइटें इस कुकी का इस्तेमाल, साइट पर मौजूद अन्य सभी पेज अनुरोधों की पुष्टि करने के लिए करती हैं. अन्य साइटों ने अपने फ़्रेमवर्क के कुकी मैनेजमेंट सिस्टम की मदद से, अपनी कुकी बनाने के लिए इस कुकी का इस्तेमाल किया.

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

    आपको अपने ऐप्लिकेशन की सुरक्षा से जुड़ी ज़रूरतों के हिसाब से, अपनी कुकी के सेशन की समयसीमा सेट करनी होगी.

  • वेब पर साइन इन करने का फ़्लो

    पहले, जब साइन-इन करना शुरू किया जाता था, तब उपयोगकर्ताओं को accountchooser.com पर रीडायरेक्ट किया जाता था, ताकि यह जाना जा सके कि उपयोगकर्ता किस आइडेंटिफ़ायर का इस्तेमाल करना चाहता है. Firebase पुष्टि का यूज़र इंटरफ़ेस (यूआई), अब साइन-इन करने के तरीकों की सूची से शुरू होता है. इसमें ईमेल का विकल्प भी शामिल है, जो वेब के लिए accountchooser.com पर जाता है और Android पर hintRequest API का इस्तेमाल करता है. इसके अलावा, अब Firebase यूज़र इंटरफ़ेस (यूआई) में ईमेल पतों की ज़रूरत नहीं है. इससे पहचान छिपाने वाले उपयोगकर्ताओं, पसंद के मुताबिक पुष्टि करने वाले उपयोगकर्ताओं या सेवा देने वाली कंपनियों के ऐसे उपयोगकर्ताओं की मदद करना आसान हो जाएगा जहां ईमेल पतों की ज़रूरत नहीं है.

  • खाते के मैनेजमेंट का विजेट

    यह विजेट, उपयोगकर्ताओं के लिए यूज़र इंटरफ़ेस (यूआई) उपलब्ध कराता है. इसकी मदद से, उपयोगकर्ता अपने ईमेल पते में बदलाव कर सकते हैं, पासवर्ड बदल सकते हैं या अपने खातों को पहचान देने वाली कंपनियों से अनलिंक कर सकते हैं. फ़िलहाल, इस पर काम चल रहा है.

  • साइन इन करने का बटन/विजेट

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

  • साइनआउट यूआरएल मौजूद नहीं है

    आपको firebase.auth.signOut() को कॉल करके कॉलबैक मैनेज करना होगा.

  • कोई oobActionUrl नहीं

    ईमेल भेजने को अब Firebase मैनेज करता है. साथ ही, इसे Firebase कंसोल में कॉन्फ़िगर किया जाता है.

  • सीएसएस को पसंद के मुताबिक बनाना

    FirebaseUI Material Design Lite स्टाइल का इस्तेमाल करता है, जो डाइनैमिक तरीके से मटीरियल डिज़ाइन ऐनिमेशन जोड़ता है.

पहला चरण: सर्वर कोड बदलना

  1. अगर आपका सर्वर, वेब उपयोगकर्ता सेशन को मैनेज करने के लिए Identity टूलकिट टोकन (दो हफ़्ते के लिए मान्य) का इस्तेमाल करता है, तो आपको सर्वर को अपनी सेशन कुकी का इस्तेमाल करने के लिए बदलना होगा.

    1. Firebase आईडी टोकन की पुष्टि करने और उपयोगकर्ता के लिए सेशन कुकी सेट करने के लिए, एंडपॉइंट लागू करें. क्लाइंट ऐप्लिकेशन इस एंडपॉइंट पर Firebase आईडी टोकन भेजता है.
    2. अगर आने वाले अनुरोध में आपकी अपनी सेशन कुकी है, तो आपके पास ऐसे उपयोगकर्ता की पुष्टि करने का विकल्प होता है जिसकी पुष्टि हो चुकी है. अगर ऐसा नहीं है, तो अनुरोध को बिना पुष्टि वाला मानें.
    3. अगर आपको अपने किसी भी उपयोगकर्ता के लॉग इन किए हुए मौजूदा सेशन को सेव नहीं करना है, तो Identity टूलकिट के सभी टोकन की समयसीमा खत्म होने में दो हफ़्ते लग सकते हैं. इसके अलावा, तीसरे चरण में बताए गए तरीके से अपने वेब ऐप्लिकेशन के लिए ड्यूअल टोकन की पुष्टि भी की जा सकती है.
  2. इसके बाद, Firebase टोकन, Identity Toolkit टोकन से अलग होते हैं. इसलिए, आपको अपने टोकन की पुष्टि करने वाला लॉजिक अपडेट करना होगा. अपने सर्वर पर Firebase सर्वर SDK टूल इंस्टॉल करें या अगर किसी ऐसी भाषा का इस्तेमाल किया जा रहा है जो Firebase सर्वर SDK टूल के साथ काम नहीं करती, तो अपने एनवायरमेंट के लिए JWT टोकन की पुष्टि करने वाली लाइब्रेरी डाउनलोड करें. साथ ही, टोकन की सही तरीके से पुष्टि करें.

  3. पहली बार ऊपर दिए गए अपडेट करने पर, आपके पास अब भी ऐसे कोड पाथ हो सकते हैं जो Identity Toolkit टोकन पर आधारित होते हैं. अगर आपके पास iOS या Android ऐप्लिकेशन है, तो उपयोगकर्ताओं को ऐप्लिकेशन के नए वर्शन में अपग्रेड करना होगा, ताकि नए कोड पाथ काम कर सकें. अगर आपको अपने उपयोगकर्ताओं को ऐप्लिकेशन अपडेट करने के लिए मजबूर नहीं करना है, तो सर्वर की पुष्टि करने वाला एक ऐसा लॉजिक जोड़ा जा सकता है जो टोकन की जांच करता है. साथ ही, यह तय करता है कि टोकन की पुष्टि करने के लिए, Firebase SDK टूल या Identity Toolkit SDK टूल का इस्तेमाल करना है या नहीं. अगर आपके पास सिर्फ़ वेब ऐप्लिकेशन है, तो पुष्टि करने के सभी नए अनुरोध Firebase पर शिफ़्ट कर दिए जाएंगे. इसलिए, आपको सिर्फ़ Firebase टोकन की पुष्टि करने के तरीकों का इस्तेमाल करना होगा.

Firebase वेब एपीआई का संदर्भ देखें.

दूसरा चरण: एचटीएमएल अपडेट करना

  1. अपने ऐप्लिकेशन में Firebase शुरू करने का कोड जोड़ें:

    1. Firebase कंसोल में अपना प्रोजेक्ट खोलें.
    2. खास जानकारी देने वाले पेज पर, ऐप्लिकेशन जोड़ें पर क्लिक करें. इसके बाद, Firebase को अपने वेब ऐप्लिकेशन में जोड़ें पर क्लिक करें. इसके बाद, Firebase शुरू करने वाला कोड स्निपेट दिखेगा.
    3. अपने वेब पेज में इनिशलाइज़ेशन स्निपेट को कॉपी करें और चिपकाएं.
  2. अपने ऐप्लिकेशन में FirebaseUI पुष्टि जोड़ें:

    <script src="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.js"></script>
    <link type="text/css" rel="stylesheet" href="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.css" />
    <!-- *******************************************************************************************
       * TODO(DEVELOPER): Paste the initialization snippet from:
       * Firebase Console > Overview > Add Firebase to your web app. *
       ***************************************************************************************** -->
    <script type="text/javascript">
      // FirebaseUI config.
      var uiConfig = {
        'signInSuccessUrl': '<url-to-redirect-to-on-success>',
        'signInOptions': [
          // Leave the lines as is for the providers you want to offer your users.
          firebase.auth.GoogleAuthProvider.PROVIDER_ID,
          firebase.auth.FacebookAuthProvider.PROVIDER_ID,
          firebase.auth.TwitterAuthProvider.PROVIDER_ID,
          firebase.auth.GithubAuthProvider.PROVIDER_ID,
          firebase.auth.EmailAuthProvider.PROVIDER_ID
        ],
        // Terms of service url.
        'tosUrl': '<your-tos-url>',
      };
    
      // Initialize the FirebaseUI Widget using Firebase.
      var ui = new firebaseui.auth.AuthUI(firebase.auth());
      // The start method will wait until the DOM is loaded.
      ui.start('#firebaseui-auth-container', uiConfig);
    </script>
    
  3. अपने ऐप्लिकेशन से, Identity Toolkit SDK टूल हटाएं.

  4. अगर सेशन मैनेजमेंट के लिए, पहचान टूलकिट आईडी टोकन का इस्तेमाल किया जाता है, तो आपको क्लाइंट-साइड पर ये बदलाव करने होंगे:

    1. Firebase से साइन इन करने के बाद, firebase.auth().currentUser.getToken() को कॉल करके Firebase आईडी टोकन पाएं.

    2. Firebase आईडी टोकन को बैकएंड सर्वर पर भेजें, उसकी पुष्टि करें, और अपनी सेशन कुकी जारी करें.

      संवेदनशील कार्रवाइयां करते समय या अपने सर्वर पर पुष्टि किए गए बदलाव करने के अनुरोध भेजते समय, सिर्फ़ सेशन कुकी पर भरोसा न करें. आपको अलग-अलग साइटों से किए जाने वाले अनुरोधों से जुड़ी जालसाज़ी (सीएसआरएफ) से जुड़ी ज़्यादा सुरक्षा देनी होगी.

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

    3. Identity टूलकिट टोकन दो हफ़्तों के लिए मान्य हैं. हालांकि, पिछले दो हफ़्तों तक जारी रहने वाले टोकन जारी रखे जा सकते हैं या अपने ऐप्लिकेशन की सुरक्षा से जुड़ी ज़रूरतों के हिसाब से इसे लंबा या छोटा किया जा सकता है. जब कोई उपयोगकर्ता साइन आउट कर दे, तो सेशन कुकी को मिटा दें.

तीसरा चरण: आईडीपी (IdP) रीडायरेक्ट यूआरएल अपडेट करना

  1. Firebase कंसोल में, पुष्टि करने वाला सेक्शन खोलें और साइन इन करने का तरीका टैब पर क्लिक करें.

  2. आपका समर्थन करने वाले हर फ़ेडरेटेड साइन-इन कंपनी के लिए ये काम करें:

    1. साइन इन करने की सेवा देने वाली कंपनी के नाम पर क्लिक करें.
    2. OAuth रीडायरेक्ट यूआरआई को कॉपी करें.
    3. साइन-इन करने वाली कंपनी के डेवलपर कंसोल में, OAuth रीडायरेक्ट यूआरआई अपडेट करें.

Android

पहला चरण: अपने ऐप्लिकेशन में Firebase जोड़ना

  1. Firebase कंसोल खोलें और अपना Identity टूलकिट प्रोजेक्ट चुनें, जिसे आपने पहले से इंपोर्ट किया हुआ है.

  2. खास जानकारी देने वाले पेज पर, ऐप्लिकेशन जोड़ें पर क्लिक करें. इसके बाद, अपने Android ऐप्लिकेशन में Firebase जोड़ें पर क्लिक करें. 'Firebase जोड़ें' डायलॉग में, अपने ऐप्लिकेशन के पैकेज का नाम और साइनिंग सर्टिफ़िकेट का फ़िंगरप्रिंट दें. इसके बाद, ऐप्लिकेशन जोड़ें पर क्लिक करें. इसके बाद, आपके कंप्यूटर पर google-services.json कॉन्फ़िगरेशन फ़ाइल डाउनलोड हो जाएगी.

  3. कॉन्फ़िगरेशन फ़ाइल को अपने Android ऐप्लिकेशन मॉड्यूल की रूट डायरेक्ट्री में कॉपी करें. इस कॉन्फ़िगरेशन फ़ाइल में प्रोजेक्ट और Google OAuth क्लाइंट की जानकारी मौजूद है.

  4. अपनी प्रोजेक्ट-लेवल build.gradle फ़ाइल (<var>your-project</var>/build.gradle) में, defaultConfig सेक्शन में अपने ऐप्लिकेशन के पैकेज का नाम बताएं:

    defaultConfig {
       …..
      applicationId "com.your-app"
    }
    
  5. साथ ही, अपनी प्रोजेक्ट-लेवल build.gradle फ़ाइल में, Google-सेवाएं प्लगिन को शामिल करने के लिए एक डिपेंडेंसी जोड़ें:

    buildscript {
     dependencies {
       // Add this line
       classpath 'com.google.gms:google-services:3.0.0'
     }
    }
    
  6. अपने ऐप्लिकेशन के ऐप्लिकेशन लेवल की build.gradle फ़ाइल (<var>my-project</var>/<var>app-module</var>/build.gradle) में, Google सेवाएं प्लगिन को चालू करने के लिए, सबसे नीचे यह लाइन जोड़ें:

    // Add to the bottom of the file
    apply plugin: 'com.google.gms.google-services'
    

    Google-सेवाएं प्लग इन आपके ऐप्लिकेशन को Firebase का इस्तेमाल करने के लिए कॉन्फ़िगर करने के लिए google-services.json फ़ाइल का इस्तेमाल करता है.

  7. साथ ही ऐप्लिकेशन-लेवल की build.gradle फ़ाइल में, Firebase से पुष्टि करने की निर्भरता जोड़ें:

    compile 'com.google.firebase:firebase-auth:23.0.0'
    compile 'com.google.android.gms:play-services-auth:21.2.0'
    

दूसरा चरण: Identity Toolkit SDK टूल हटाना

  1. AndroidManifest.xml फ़ाइल से, Identity Toolkit का कॉन्फ़िगरेशन हटाएं. यह जानकारी google-service.json फ़ाइल में शामिल होती है और Google-सेवाएं प्लगिन के ज़रिए लोड की जाती है.
  2. अपने ऐप्लिकेशन से, Identity Toolkit SDK टूल हटाएं.

तीसरा चरण: अपने ऐप्लिकेशन में FirebaseUI जोड़ना

  1. अपने ऐप्लिकेशन में FirebaseUI पुष्टि जोड़ें.

  2. अपने ऐप्लिकेशन में, Identity Toolkit SDK टूल के कॉल को FirebaseUI के कॉल से बदलें.

iOS

पहला चरण: अपने ऐप्लिकेशन में Firebase जोड़ना

  1. नीचे दिए गए निर्देश चलाकर, अपने ऐप्लिकेशन में Firebase SDK टूल जोड़ें:

    $ cd your-project directory
    $ pod init
    $ pod 'Firebase'
    
  2. Firebase कंसोल खोलें और अपना Identity टूलकिट प्रोजेक्ट चुनें, जिसे आपने पहले से इंपोर्ट किया हुआ है.

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

  4. कॉन्फ़िगरेशन फ़ाइल को अपने Xcode प्रोजेक्ट के रूट में कॉपी करें और उसे सभी टारगेट में जोड़ें.

दूसरा चरण: Identity Toolkit SDK टूल हटाना

  1. अपने ऐप्लिकेशन की Podfile से GoogleIdentityToolkit को हटाएं.
  2. pod install निर्देश चलाएं.

तीसरा चरण: अपने ऐप्लिकेशन में FirebaseUI जोड़ना

  1. अपने ऐप्लिकेशन में FirebaseUI पुष्टि जोड़ें.

  2. अपने ऐप्लिकेशन में, Identity Toolkit SDK टूल के कॉल को FirebaseUI के कॉल से बदलें.