Google Identity Toolkit का नया वर्शन, Identity Platform और Firebase Authentication के तौर पर रिलीज़ किया गया है. अब से, Identity Toolkit पर नई सुविधाएं नहीं जोड़ी जाएंगी. सभी नई सुविधाएं, Identity Platform और Firebase Authentication पर उपलब्ध होंगी. हम Identity Toolkit डेवलपर को इन प्लैटफ़ॉर्म पर माइग्रेट करने का सुझाव देते हैं. हालांकि, ऐसा तब करें, जब यह उनके ऐप्लिकेशन के लिए सही हो.
नई सुविधाएं
Identity Platform में, Google Identity Toolkit की तुलना में पहले से ही कई बेहतर सुविधाएं उपलब्ध हैं:
नई Admin console
Identity Platform में एक नई डेवलपर कंसोल है. इसकी मदद से, उपयोगकर्ताओं को देखा, बदला, और मिटाया जा सकता है. यह साइन-इन और साइन-अप फ़्लो को डीबग करने में मददगार हो सकता है. कंसोल में, पुष्टि करने के तरीके कॉन्फ़िगर करने और ईमेल टेंप्लेट को पसंद के मुताबिक बनाने की सुविधा भी मिलती है.
पुष्टि करने के नए तरीके
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, उपयोगकर्ता को ईमेल पते की पुष्टि करने, पासवर्ड फिर सेट करने, और बदले गए पासवर्ड के मैसेज भेज सकता है. साथ ही, आपके उपयोगकर्ताओं के लिए टेक्स्ट को आसानी से पसंद के मुताबिक बनाया जा सकता है. इसके अलावा, अब आपको रीडायरेक्ट होस्ट करने और पासवर्ड बदलने की कार्रवाइयां पूरी करने के लिए, यूज़र इंटरफ़ेस (यूआई) विजेट होस्ट करने की ज़रूरत नहीं है.
नए एसडीके
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# के लिए Admin SDK उपलब्ध हैं.
खाता मैनेजमेंट से जुड़े ईमेल
पासवर्ड फिर सेट करने, ईमेल पते की पुष्टि करने, और ईमेल बदलने से जुड़े मैसेज, Firebase या डेवलपर के खुद के मेल सर्वर से भेजे जा सकते हैं. फ़िलहाल, ईमेल टेंप्लेट को यूज़र इंटरफ़ेस (यूआई) से सिर्फ़ सीमित तौर पर पसंद के मुताबिक बनाया जा सकता है. हालांकि, Admin 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, और वेब के लिए ओपन सोर्स एसडीके के तौर पर उपलब्ध हैं. साथ ही, इनकी मदद से फ़्लो को पूरी तरह से अपनी पसंद के मुताबिक बनाया जा सकता है. ऐसा Identity Toolkit की मदद से नहीं किया जा सकता.
इनके अलावा, ये अंतर भी होते हैं:
सेशन और माइग्रेशन
Identity Toolkit और Identity Platform में सेशन को अलग-अलग तरीके से मैनेज किया जाता है. इसलिए, SDK को अपग्रेड करने पर, आपके उपयोगकर्ताओं के मौजूदा सेशन बंद हो जाएंगे. साथ ही, उन्हें फिर से साइन इन करना होगा.
शुरू करने से पहले
Identity Toolkit से Identity Platform पर माइग्रेट करने से पहले, आपको यह काम करना होगा:
Cloud Console खोलें और अपना Identity Toolkit प्रोजेक्ट चुनें.
Marketplace में जाकर, Identity Platform पर जाएं और 'Identity Platform चालू करें' चुनें
सेवा खाते पेज खोलें. यहां आपको वह सेवा खाता दिखेगा जिसे आपने पहले Identity Toolkit के लिए कॉन्फ़िगर किया था.
सेवा खाते के बगल में, more_vert > कुंजी बनाएं पर क्लिक करें. इसके बाद, निजी कुंजी बनाएं डायलॉग में, कुंजी का टाइप JSON पर सेट करें. इसके बाद, बनाएं पर क्लिक करें. आपके लिए, सेवा खाते के क्रेडेंशियल वाली JSON फ़ाइल डाउनलोड की जाती है. आपको इसकी ज़रूरत अगले चरण में SDK टूल को शुरू करने के लिए पड़ेगी.
Cloud Console पर वापस जाएं. 'ईमेल/पासवर्ड' से साइन-इन करने के तरीके के तहत, 'प्रोवाइडर' सेक्शन में जाकर, ईमेल टेंप्लेट पेज खोलें. इसके बाद, अपने ऐप्लिकेशन के टेंप्लेट को पसंद के मुताबिक बनाया जा सकता है.
Identity Toolkit में, जब उपयोगकर्ता पासवर्ड रीसेट करते थे, ईमेल पते बदलते थे या अपने ईमेल पतों की पुष्टि करते थे, तब आपको Identity Toolkit सर्वर से ओओबी कोड पाना होता था. इसके बाद, आपको ईमेल के ज़रिए उपयोगकर्ताओं को कोड भेजना होता था. Identity Platform, आपके कॉन्फ़िगर किए गए टेंप्लेट के आधार पर ईमेल भेजता है. इसके लिए, आपको कोई अतिरिक्त कार्रवाई करने की ज़रूरत नहीं होती.
ज़रूरी नहीं: अगर आपको अपने सर्वर पर Identity Platform की सेवाओं को ऐक्सेस करना है, तो Firebase SDK टूल इंस्टॉल करें.
Node.js Admin SDK को
npmकी मदद से इंस्टॉल किया जा सकता है:$ npm init $ npm install --save firebase-adminअपने कोड में, Firebase को इन तरीकों से ऐक्सेस किया जा सकता है:
var admin = require('firebase-admin'); var app = admin.initializeApp({ credential: admin.credential.cert('path/to/serviceAccountCredentials.json') });
इसके बाद, अपने ऐप्लिकेशन के प्लैटफ़ॉर्म के लिए माइग्रेशन के चरण पूरे करें: Android, iOS, वेब.
सर्वर और JavaScript
ध्यान देने लायक बदलाव
Identity Toolkit की तुलना में, Identity Platform को वेब पर लागू करने के तरीके में कई अन्य अंतर हैं.
वेब सेशन मैनेजमेंट
पहले, जब कोई उपयोगकर्ता Identity Toolkit विजेट का इस्तेमाल करके पुष्टि करता था, तो उसके लिए एक कुकी सेट की जाती थी. इसका इस्तेमाल सेशन को बूटस्ट्रैप करने के लिए किया जाता था. इस कुकी का इस्तेमाल दो हफ़्तों तक किया जा सकता था. इसका इस्तेमाल, उपयोगकर्ता को खाता मैनेजमेंट विजेट का इस्तेमाल करने की अनुमति देने के लिए किया जाता था. इससे उपयोगकर्ता, पासवर्ड और ईमेल पता बदल सकता था. कुछ साइटें इस कुकी का इस्तेमाल, साइट पर पेज के लिए किए गए सभी अनुरोधों की पुष्टि करने के लिए करती थीं. अन्य साइटें इस कुकी का इस्तेमाल, अपने फ़्रेमवर्क के कुकी मैनेजमेंट सिस्टम के ज़रिए अपनी कुकी बनाने के लिए करती हैं.
Identity Platform के क्लाइंट SDK अब आईडी टोकन मैनेज करते हैं. साथ ही, सेशन को चालू रखने के लिए Identity Platform के बैकएंड के साथ काम करते हैं. जब खाते में अहम बदलाव (जैसे कि उपयोगकर्ता के पासवर्ड में बदलाव) होते हैं, तो बैकएंड सेशन की समयसीमा खत्म कर देता है. वेब क्लाइंट पर आईडी टोकन, कुकी के तौर पर अपने-आप सेट नहीं होते. इनकी अवधि सिर्फ़ एक घंटे की होती है. अगर आपको सिर्फ़ एक घंटे के सेशन चाहिए, तो आईडी टोकन का इस्तेमाल सभी पेज अनुरोधों को मान्य करने वाली कुकी के तौर पर नहीं किया जा सकता. इसके बजाय, आपको उपयोगकर्ता के लॉग इन करने पर, एक लिसनर सेट अप करना होगा. साथ ही, आईडी टोकन पाना, टोकन की पुष्टि करना, और अपने फ़्रेमवर्क के कुकी मैनेजमेंट सिस्टम के ज़रिए अपनी कुकी बनाना होगा.
आपको अपने ऐप्लिकेशन की सुरक्षा से जुड़ी ज़रूरतों के आधार पर, अपनी कुकी के सेशन की लाइफ़टाइम सेट करनी होगी.
वेब पर साइन-इन करने का फ़्लो
पहले, जब उपयोगकर्ता साइन-इन करने की प्रोसेस शुरू करते थे, तो उन्हें
accountchooser.comपर रीडायरेक्ट किया जाता था. इससे यह पता चलता था कि उपयोगकर्ता किस आइडेंटिफ़ायर का इस्तेमाल करना चाहता है. Identity Platform के यूज़र इंटरफ़ेस (यूआई) का फ़्लो अब साइन-इन करने के तरीकों की सूची से शुरू होता है. इसमें ईमेल का विकल्प भी शामिल है. यह विकल्प वेब के लिएaccountchooser.comपर जाता है और Android पर hintRequest API का इस्तेमाल करता है. इसके अलावा, यूज़र इंटरफ़ेस (यूआई) में ईमेल पते की अब ज़रूरत नहीं है. इससे पहचान छिपाने वाले उपयोगकर्ताओं, कस्टम ऑथराइज़ेशन वाले उपयोगकर्ताओं या ऐसे उपयोगकर्ताओं को सहायता देना आसान हो जाएगा जिनके लिए ईमेल पते की ज़रूरत नहीं होती.खाता मैनेज करने वाला विजेट
यह विजेट, उपयोगकर्ताओं को ईमेल पते बदलने, पासवर्ड बदलने या अपने खातों को पहचान देने वाली कंपनियों से अनलिंक करने के लिए यूज़र इंटरफ़ेस (यूआई) उपलब्ध कराता है. फ़िलहाल, इस पर काम चल रहा है.
साइन-इन बटन/विजेट
साइन-इन बटन और उपयोगकर्ता कार्ड जैसे विजेट अब उपलब्ध नहीं हैं. इन्हें Firebase से पुष्टि करने वाले API का इस्तेमाल करके आसानी से बनाया जा सकता है.
signOutUrl मौजूद नहीं है
आपको
firebase.auth.signOut()को कॉल करना होगा और कॉलबैक को मैनेज करना होगा.No oobActionUrl
अब ईमेल भेजने की सुविधा को Identity Platform मैनेज करता है. इसे Firebase कंसोल में कॉन्फ़िगर किया जाता है.
सीएसएस को पसंद के मुताबिक बनाना
यूज़र इंटरफ़ेस (यूआई) विजेट, Material Design Lite स्टाइलिंग का इस्तेमाल करता है. इससे, मटीरियल डिज़ाइन के ऐनिमेशन डाइनैमिक तरीके से जुड़ जाते हैं.
पहला चरण: सर्वर कोड बदलना
अगर आपका सर्वर, वेब उपयोगकर्ता के सेशन मैनेज करने के लिए Identity Toolkit टोकन (दो हफ़्तों के लिए मान्य) पर निर्भर करता है, तो आपको सर्वर को अपनी सेशन कुकी का इस्तेमाल करने के लिए बदलना होगा.
- आईडी टोकन की पुष्टि करने और उपयोगकर्ता के लिए सेशन कुकी सेट करने के लिए, एक एंडपॉइंट लागू करें. क्लाइंट ऐप्लिकेशन, इस एंडपॉइंट पर Firebase आईडी टोकन भेजता है.
- अगर आने वाले अनुरोध में आपकी खुद की सेशन कुकी शामिल है, तो उपयोगकर्ता को पुष्टि किया गया माना जा सकता है. अगर ऐसा नहीं है, तो अनुरोध को बिना पुष्टि वाला अनुरोध माना जाएगा.
- अगर आपको नहीं चाहिए कि आपके किसी भी उपयोगकर्ता का मौजूदा लॉग-इन सेशन बंद हो, तो आपको दो हफ़्ते तक इंतज़ार करना चाहिए, ताकि Identity Toolkit के सभी टोकन की समयसीमा खत्म हो जाए. इसके अलावा, अपने वेब ऐप्लिकेशन के लिए दोहरे टोकन की पुष्टि भी की जा सकती है. इसके बारे में तीसरे चरण में बताया गया है.
इसके बाद, आपको टोकन की पुष्टि करने के लॉजिक को अपडेट करना होगा, क्योंकि आईडी टोकन, Identity Toolkit के टोकन से अलग होते हैं. अपने सर्वर पर Admin SDK इंस्टॉल करें. अगर Admin SDK के साथ काम न करने वाली किसी भाषा का इस्तेमाल किया जाता है, तो अपने एनवायरमेंट के लिए JWT टोकन की पुष्टि करने वाली लाइब्रेरी डाउनलोड करें और टोकन की पुष्टि ठीक से करें.
ऊपर दिए गए बदलाव पहली बार करने पर, आपके पास ऐसे कोड पाथ हो सकते हैं जो Identity Toolkit टोकन पर निर्भर होते हैं. अगर आपके पास iOS या Android ऐप्लिकेशन हैं, तो उपयोगकर्ताओं को ऐप्लिकेशन के नए वर्शन पर अपग्रेड करना होगा, ताकि नए कोड पाथ काम कर सकें. अगर आपको अपने उपयोगकर्ताओं को ऐप्लिकेशन अपडेट करने के लिए मजबूर नहीं करना है, तो सर्वर पर पुष्टि करने का अतिरिक्त लॉजिक जोड़ा जा सकता है. यह लॉजिक, टोकन की जांच करता है और यह तय करता है कि टोकन की पुष्टि करने के लिए, Firebase SDK टूल या Identity Toolkit SDK टूल का इस्तेमाल करना है या नहीं. अगर आपके पास सिर्फ़ वेब ऐप्लिकेशन है, तो पुष्टि करने के सभी नए अनुरोध Identity Platform पर भेज दिए जाएंगे. इसलिए, आपको सिर्फ़ आईडी टोकन की पुष्टि करने के तरीकों का इस्तेमाल करना होगा.
Web API के बारे में जानकारी देखें.
दूसरा चरण: एचटीएमएल अपडेट करना
अपने ऐप्लिकेशन में, शुरू करने के लिए कोड जोड़ें:
- अपने प्रोजेक्ट को Cloud Console में खोलें.
- providers पेज पर, Application Setup Details पर क्लिक करें. Identity Platform को शुरू करने वाला कोड स्निपेट दिखता है.
- इनिशियलाइज़ेशन स्निपेट को कॉपी करके अपने वेब पेज में चिपकाएं.
अपने ऐप्लिकेशन में Authentication Widget जोड़ें:
<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>अपने ऐप्लिकेशन से Identity Toolkit SDK टूल को हटाएं.
अगर आपने सेशन मैनेज करने के लिए, Identity Toolkit के आईडी टोकन का इस्तेमाल किया है, तो आपको क्लाइंट-साइड पर ये बदलाव करने होंगे:
Identity Platform में साइन इन करने के बाद,
firebase.auth().currentUser.getToken()को कॉल करके आईडी टोकन पाएं.आईडी टोकन को बैकएंड सर्वर पर भेजें, उसकी पुष्टि करें, और अपनी सेशन कुकी जारी करें.
संवेदनशील कार्रवाइयां करते समय या अपने सर्वर को पुष्टि किए गए बदलाव के अनुरोध भेजते समय, सिर्फ़ सेशन कुकी पर भरोसा न करें. आपको किसी दूसरी साइट से किए गए फ़र्ज़ी अनुरोधों (सीएसआरएफ़) से सुरक्षा के लिए अतिरिक्त उपाय करने होंगे.
अगर आपका फ़्रेमवर्क सीएसआरएफ़ से सुरक्षा नहीं देता है, तो हमले को रोकने का एक तरीका यह है कि साइन इन किए हुए उपयोगकर्ता के लिए
getToken()की मदद से आईडी टोकन पाएं. साथ ही, हर अनुरोध में टोकन शामिल करें. सेशन कुकी भी डिफ़ॉल्ट रूप से भेजी जाएगी. इसके बाद, आपको उस टोकन की पुष्टि करनी होगी. इसके लिए, सेशन कुकी की जांच के साथ-साथ Admin SDK का इस्तेमाल करें. यह जांच, आपके बैकएंड फ़्रेमवर्क ने पूरी की थी. इससे सीएसआरएफ़ वाले हमलों को रोकना आसान हो जाएगा, क्योंकि आईडी टोकन को सिर्फ़ वेब स्टोरेज का इस्तेमाल करके सेव किया जाता है. इसे कभी भी कुकी में सेव नहीं किया जाता.Identity Toolkit टोकन दो हफ़्तों के लिए मान्य होते हैं. आपके पास दो हफ़्ते तक चलने वाले टोकन जारी करने का विकल्प होता है. इसके अलावा, अपने ऐप्लिकेशन की सुरक्षा से जुड़ी ज़रूरतों के हिसाब से, टोकन की समयसीमा को कम या ज़्यादा किया जा सकता है. जब कोई उपयोगकर्ता साइन आउट करता है, तो सेशन कुकी मिटा दें.
तीसरा चरण: आईडीपी के दूसरे वेबलिंक अपडेट करना
Cloud Console में, प्रोवाइडर सेक्शन खोलें.
फ़ेडरेट किए गए साइन-इन की सुविधा देने वाली हर कंपनी के लिए, यह तरीका अपनाएं:
- साइन-इन करने की सुविधा देने वाली कंपनी के नाम पर क्लिक करें.
- OAuth रीडायरेक्ट यूआरआई को कॉपी करें.
- साइन-इन की सुविधा देने वाली कंपनी की डेवलपर कंसोल में, OAuth रीडायरेक्ट यूआरआई अपडेट करें.
Android
पहला चरण: Firebase के साथ अपने ऐप्लिकेशन में Identity Platform जोड़ना
Cloud Console खोलें और अपना Identity Toolkit प्रोजेक्ट चुनें.
Providers पेज पर, Application setup details पर क्लिक करें. इसके बाद, Android टैब को चुनें. इसके बाद, Get Started in Firebase पर क्लिक करें. 'Firebase जोड़ें' डायलॉग में, अपने ऐप्लिकेशन के पैकेज का नाम और हस्ताक्षर करने वाले सर्टिफ़िकेट का फ़िंगरप्रिंट डालें. इसके बाद, ऐप्लिकेशन जोड़ें पर क्लिक करें. इसके बाद,
google-services.jsonकॉन्फ़िगरेशन फ़ाइल आपके कंप्यूटर पर डाउनलोड हो जाती है.कॉन्फ़िगरेशन फ़ाइल को अपने Android ऐप्लिकेशन मॉड्यूल की रूट डायरेक्ट्री में कॉपी करें. इस कॉन्फ़िगरेशन फ़ाइल में प्रोजेक्ट और Google OAuth क्लाइंट की जानकारी होती है.
अपने प्रोजेक्ट-लेवल की
build.gradleफ़ाइल (<var>your-project</var>/build.gradle) में,defaultConfigसेक्शन में जाकर अपने ऐप्लिकेशन के पैकेज का नाम डालें:defaultConfig { ….. applicationId "com.your-app" }साथ ही, अपनी प्रोजेक्ट-लेवल की
build.gradleफ़ाइल में, google-services प्लगिन को शामिल करने के लिए एक डिपेंडेंसी जोड़ें:buildscript { dependencies { // Add this line classpath 'com.google.gms:google-services:3.0.0' } }अपने ऐप्लिकेशन के ऐप्लिकेशन-लेवल की
build.gradleफ़ाइल (<var>my-project</var>/<var>app-module</var>/build.gradle) में, Android Gradle प्लग इन के बाद यहां दी गई लाइन जोड़ें, ताकि google-services प्लग इन चालू किया जा सके:apply plugin: 'com.android.application' // Add this line apply plugin: 'com.google.gms.google-services'google-services प्लगिन,
google-services.jsonफ़ाइल का इस्तेमाल करके, Firebase का इस्तेमाल करने के लिए आपके ऐप्लिकेशन को कॉन्फ़िगर करता है.साथ ही, ऐप्लिकेशन-लेवल की
build.gradleफ़ाइल में, Firebase से पुष्टि करने की डिपेंडेंसी जोड़ें:compile 'com.google.firebase:firebase-auth:24.1.0' compile 'com.google.android.gms:play-services-auth:21.6.0'
दूसरा चरण: Identity Toolkit SDK टूल हटाना
AndroidManifest.xmlफ़ाइल से Identity Toolkit का कॉन्फ़िगरेशन हटाएं. यह जानकारी,google-service.jsonफ़ाइल में शामिल होती है. साथ ही, इसे google-services प्लगिन लोड करता है.- अपने ऐप्लिकेशन से Identity Toolkit SDK टूल को हटाएं.
तीसरा चरण: अपने ऐप्लिकेशन में FirebaseUI जोड़ना
अपने ऐप्लिकेशन में FirebaseUI Auth जोड़ें.
अपने ऐप्लिकेशन में, Identity Toolkit SDK टूल के कॉल को FirebaseUI के कॉल से बदलें.
iOS
पहला चरण: अपने ऐप्लिकेशन में Firebase जोड़ना
अपने ऐप्लिकेशन में क्लाइंट एसडीके जोड़ने के लिए, ये कमांड चलाएं:
$ cd your-project directory $ pod init $ pod 'Firebase'Cloud Console खोलें और अपना Identity Toolkit प्रोजेक्ट चुनें.
'प्रोवाइडर' पेज पर, ऐप्लिकेशन सेटअप की जानकारी पर क्लिक करें. इसके बाद, iOS टैब चुनें और Firebase में शुरू करें पर क्लिक करें. 'Firebase जोड़ें' डायलॉग में, अपने ऐप्लिकेशन के पैकेज का नाम और साइनिंग सर्टिफ़िकेट का फ़िंगरप्रिंट डालें. इसके बाद, ऐप्लिकेशन जोड़ें पर क्लिक करें. इसके बाद,
google-services.jsonकॉन्फ़िगरेशन फ़ाइल आपके कंप्यूटर पर डाउनलोड हो जाएगी. 'Firebase जोड़ें' डायलॉग बॉक्स में, अपने ऐप्लिकेशन का बंडल आईडी और App Store आईडी डालें. इसके बाद, ऐप्लिकेशन जोड़ें पर क्लिक करें. इसके बाद,GoogleService-Info.plistकॉन्फ़िगरेशन फ़ाइल आपके कंप्यूटर पर डाउनलोड हो जाएगी. अगर आपके प्रोजेक्ट में एक से ज़्यादा बंडल आईडी हैं, तो हर बंडल आईडी को Firebase कंसोल में कनेक्ट करना होगा, ताकि उसके पास अपनीGoogleService-Info.plistफ़ाइल हो सके.कॉन्फ़िगरेशन फ़ाइल को अपने Xcode प्रोजेक्ट के रूट में कॉपी करें और उसे सभी टारगेट में जोड़ें.
दूसरा चरण: Identity Toolkit SDK टूल हटाना
- अपने ऐप्लिकेशन की Podfile से
GoogleIdentityToolkitको हटाएं. pod installकमांड चलाएं.
तीसरा चरण: अपने ऐप्लिकेशन में FirebaseUI जोड़ना
अपने ऐप्लिकेशन में FirebaseUI Auth जोड़ें.
अपने ऐप्लिकेशन में, Identity Toolkit SDK टूल के कॉल को FirebaseUI के कॉल से बदलें.