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

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

नई सुविधाएं

Firebase से पुष्टि करने की सुविधा में, Google Identity Toolkit के मुकाबले पहले से ही कुछ अहम सुविधाएं जोड़ी गई हैं:

  • सभी Firebase का ऐक्सेस

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

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

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

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

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

  • नया Admin console

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

  • नए SDK टूल

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

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

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

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

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

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

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

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

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

  • पहचान देने वाली कंपनियां

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

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

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

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

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

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

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

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

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

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

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

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

  • Firebase से पुष्टि करने वाले SDK टूल

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

  • FirebaseUI पुष्टि

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

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

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

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

शुरू करने से पहले

Identity Toolkit से 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

अहम बदलाव

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

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

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

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

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

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

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

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

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

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

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

  • कोई SignOutUrl नहीं है

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

  • कोई oobActionUrl नहीं है

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

  • सीएसएस कस्टमाइज़ेशन

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

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

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

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

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

Firebase Web API का संदर्भ देखें.

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

  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 टूलकिट SDK टूल हटाएं.

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

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

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

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

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

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

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

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

  2. साइन-इन करने वाली जिन कंपनियों की मदद की जा रही है उन सभी के लिए, ये काम करें:

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

Android

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

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

  2. खास जानकारी देने वाले पेज पर, ऐप्लिकेशन जोड़ें पर क्लिक करें. इसके बाद, Firebase को अपने Android ऐप्लिकेशन में जोड़ें पर क्लिक करें. '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-services प्लगिन को शामिल करने के लिए कोई डिपेंडेंसी जोड़ें:

    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-services प्लगिन को चालू करने के लिए, नीचे दी गई लाइन को सबसे नीचे जोड़ें:

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

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

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

    compile 'com.google.firebase:firebase-auth:22.3.1'
    compile 'com.google.android.gms:play-services-auth:21.0.0'
    

दूसरा चरण: Identity टूलकिट SDK टूल को हटाना

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

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

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

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

iOS

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

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

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

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

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

दूसरा चरण: Identity टूलकिट SDK टूल को हटाना

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

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

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

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