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 की तुलना में कई बेहतर सुविधाएं पहले से मौजूद हैं:

  • नया एडमिन कंसोल

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

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

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

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

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

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

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

  • आइडेंटिटी प्रोवाइडर (आईडीपी)

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

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

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

  • खाता मैनेजमेंट के ईमेल

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

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

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

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

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

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

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

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

  • क्लाइंट और सर्वर SDK

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      $ 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 कंसोल में कॉन्फ़िगर किया जाता है.

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

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

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

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

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

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

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

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

    compile 'com.google.firebase:firebase-auth:24.2.0'
    compile 'com.google.android.gms:play-services-auth:22.0.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 जोड़ें डायलॉग में, अपने ऐप्लिकेशन का बंडल आईडी और App Store आईडी डालें. इसके बाद, ऐप्लिकेशन जोड़ें पर क्लिक करें. इसके बाद, 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 के कॉल से बदलें.