Google Identity टूलकिट से Google Cloud' Identity Platform पर माइग्रेट करें

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

नई सुविधाएं

Identity Platform में, Google Identity Toolkit की तुलना में पहले से ही कई सुविधाओं में अहम सुधार किए जा चुके हैं:

  • नया Admin console

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

  • पुष्टि करने के नए तरीके

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

  • सेवा स्तर समझौतों और क्लाउड सहायता की मदद से, भरोसे के साथ कारोबार बढ़ाएं

    Identity Platform, Google के भरोसेमंद इन्फ़्रास्ट्रक्चर पर बनाया गया है. साथ ही, यह सेवा स्तर समझौते और Google Cloud की सहायता भी उपलब्ध कराता है. इसका मतलब है कि अपनी सेवा को भरोसे के साथ बड़े पैमाने पर उपलब्ध कराया जा सकता है. साथ ही, Google पर भरोसा किया जा सकता है कि वह आपकी ज़रूरत के हिसाब से, सेवा को उपलब्ध कराएगा, उसे उपलब्ध रखेगा, और उसे बढ़ाएगा.

  • Firebase के सभी वर्शन का ऐक्सेस

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

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

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

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

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

  • नए SDK टूल

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

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

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

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

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

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

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

  • पहचान की पुष्टि करने वाली कंपनियां

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

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

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

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

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

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

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

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

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

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

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

Identity Platform में, Google Identity Toolkit की सुविधाओं को दो कॉम्पोनेंट में बांटा गया है:

  • क्लाइंट और सर्वर एसडीके

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

  • यूज़र इंटरफ़ेस (यूआई) विजेट

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

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

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

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

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

Identity Toolkit से Identity Platform पर माइग्रेट करने से पहले, आपको ये काम करने होंगे:

  1. Cloud Console खोलें और अपना Identity Toolkit प्रोजेक्ट चुनें.

  2. मार्केटप्लेस में, Identity Platform पर जाएं और 'Identity Platform चालू करें' को चुनें

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

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

  5. Cloud Console पर वापस जाएं. सेवा देने वाली कंपनियों के सेक्शन में, 'ईमेल/पासवर्ड' साइन-इन के तरीके में जाकर, ईमेल टेंप्लेट पेज खोलें. इसके बाद, अपने ऐप्लिकेशन के टेंप्लेट को पसंद के मुताबिक बनाया जा सकता है.

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

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

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

      $ 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 Platform को वेब पर लागू करने के तरीके में, Identity Toolkit से कई और अंतर हैं.

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

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

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

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

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

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

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

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

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

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

  • signOutUrl मौजूद नहीं है

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

  • oobActionUrl मौजूद नहीं है

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

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

    यूज़र इंटरफ़ेस (यूआई) विजेट, Material Design Lite स्टाइल का इस्तेमाल करता है. इससे, डाइनैमिक तौर पर Material Design ऐनिमेशन जुड़ते हैं.

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

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

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

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

वेब एपीआई रेफ़रंस देखें.

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

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

    1. Cloud Console में अपना प्रोजेक्ट खोलें.
    2. सेवा देने वाली कंपनियां पेज पर, ऐप्लिकेशन सेटअप की जानकारी पर क्लिक करें. Identity Platform को शुरू करने वाला कोड स्निपेट दिखता है.
    3. अपने वेब पेज में, शुरू करने के लिए स्निपेट कॉपी करके चिपकाएं.
  2. अपने ऐप्लिकेशन में पुष्टि करने वाला विजेट जोड़ें:

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

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

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

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

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

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

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

  1. Cloud Console में, सेवा देने वाली कंपनियां सेक्शन खोलें.

  2. फ़ेडरेटेड साइन-इन की सुविधा देने वाले हर प्रोवाइडर के लिए, ये काम करें:

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

Android

पहला चरण: Firebase की मदद से, अपने ऐप्लिकेशन में Identity Platform जोड़ना

  1. Cloud Console खोलें और अपना Identity Toolkit प्रोजेक्ट चुनें.

  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-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 प्लग इन चालू करने के लिए, Android Gradle प्लग इन के बाद यह लाइन जोड़ें:

    apply plugin: 'com.android.application'
    // Add this line
    apply plugin: 'com.google.gms.google-services'
    

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

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

    compile 'com.google.firebase:firebase-auth:23.1.0'
    compile 'com.google.android.gms:play-services-auth:21.3.0'
    

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

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

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

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

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

iOS

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

  1. अपने ऐप्लिकेशन में क्लाइंट SDK टूल जोड़ने के लिए, ये कमांड चलाएं:

    $ cd your-project directory
    $ pod init
    $ pod 'Firebase'
    
  2. Cloud Console खोलें और अपना Identity Toolkit प्रोजेक्ट चुनें.

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

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

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

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

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

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

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