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

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

नई सुविधाएं

Google Identity Toolkit की तुलना में, Identity Platform की सुविधाओं में पहले से ही काफ़ी सुधार किए गए हैं:

  • नया Admin console

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

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

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

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

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

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

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

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

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

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

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

  • नए SDK टूल

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • क्लाइंट और सर्वर के लिए इस्तेमाल किए जाने वाले SDK टूल

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

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

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

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

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

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

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

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

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

  2. Marketplace से, Identity Platform पर ब्राउज़ करें और 'पहचान प्लैटफ़ॉर्म चालू करें' चुनें

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

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

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

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

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

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

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

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

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

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

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

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

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

  • कोई oobActionUrl नहीं

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Android

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

  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-सेवाएं प्लगिन को शामिल करने के लिए एक डिपेंडेंसी जोड़ें:

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

    apply plugin: 'com.android.application'
    // Add this line
    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. यहां दिए गए कमांड चलाकर, अपने ऐप्लिकेशन में क्लाइंट 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 पुष्टि जोड़ें.

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