पासवर्ड रीसेट करने या उपयोगकर्ता के ईमेल की पुष्टि करने के लिए, ईमेल से जुड़ी कार्रवाइयां भेजते समय, जारी रखने के यूआरएल के ज़रिए स्थिति को पास किया जा सकता है. इससे उपयोगकर्ता को कार्रवाई पूरी होने के बाद, ऐप्लिकेशन पर वापस जाने की सुविधा मिलती है. इसके अलावा, यह भी तय किया जा सकता है कि जब मोबाइल ऐप्लिकेशन इंस्टॉल हो, तब ईमेल ऐक्शन लिंक को वेब पेज के बजाय सीधे तौर पर मोबाइल ऐप्लिकेशन से हैंडल किया जाए या नहीं.
यह सुविधा, इन सामान्य स्थितियों में बहुत मददगार हो सकती है:
ऐसा हो सकता है कि कोई ऐसा व्यक्ति कॉन्टेंट ऐक्सेस करने की कोशिश कर रहा हो जिसने अभी लॉग इन नहीं किया है. हालांकि, इस कॉन्टेंट को ऐक्सेस करने के लिए, लॉग इन करना ज़रूरी है. हालांकि, ऐसा हो सकता है कि उपयोगकर्ता अपना पासवर्ड भूल गया हो. इसलिए, वह पासवर्ड रीसेट करने का अनुरोध कर रहा हो. फ़्लो के आखिर में, उपयोगकर्ता को ऐप्लिकेशन के उस सेक्शन पर वापस जाने की उम्मीद होती है जिसे वह ऐक्सेस करने की कोशिश कर रहा था.
कोई ऐप्लिकेशन, सिर्फ़ उन खातों का ऐक्सेस दे सकता है जिनकी पुष्टि हो चुकी है. उदाहरण के लिए, न्यूज़लेटर की सदस्यता लेने से पहले, उपयोगकर्ता को अपने ईमेल पते की पुष्टि करनी पड़ सकती है. उपयोगकर्ता को ईमेल से पुष्टि करने की प्रोसेस पूरी करनी होगी. इसके बाद, वह सदस्यता लेने की प्रोसेस पूरी करने के लिए, ऐप्लिकेशन पर वापस जा सकेगा.
अन्य मामलों में, ऐसा हो सकता है कि उपयोगकर्ता ने अपने मोबाइल डिवाइस से फ़्लो शुरू किया हो. ऐसे में, वह चाहता है कि पुष्टि होने के बाद, उसे ब्राउज़र के बजाय वापस मोबाइल ऐप्लिकेशन पर रीडायरेक्ट किया जाए.
जारी रखने के यूआरएल के ज़रिए स्थिति को पास करने की सुविधा, Firebase Auth की एक अहम सुविधा है. इससे उपयोगकर्ता अनुभव को बेहतर बनाया जा सकता है.
ईमेल ऐक्शन में, जारी रखने वाले यूआरएल की स्थिति पास करना
जारी रखने के यूआरएल को सुरक्षित तरीके से पास करने के लिए, यूआरएल के डोमेन को Firebase कंसोल में, अनुमति वाले डोमेन के तौर पर जोड़ना होगा. अगर यह डोमेन पहले से मौजूद नहीं है, तो इसे साइन-इन करने का तरीका टैब में जाकर, पुष्टि सेक्शन में जोड़ें. इसके लिए, अनुमति वाले डोमेन की सूची में यह डोमेन जोड़ें.
पासवर्ड रीसेट करने या पुष्टि करने के लिए ईमेल भेजते समय, firebase.auth.ActionCodeSettings
इंस्टेंस देना ज़रूरी है. यह इंटरफ़ेस, इन पैरामीटर का इस्तेमाल करता है:
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
url |
स्ट्रिंग | यह कुकी, लिंक (स्टेट/जारी रखने का यूआरएल) सेट करती है. इसका मतलब अलग-अलग संदर्भों में अलग-अलग होता है:
|
iOS |
({bundleId: string}|undefined) | यह कुकी, iOS बंडल आईडी सेट करती है. इससे Firebase Authentication को यह तय करने में मदद मिलती है कि उसे वेब-ओनली लिंक बनाना चाहिए या मोबाइल लिंक. मोबाइल लिंक को Apple डिवाइस पर खोला जाता है |
android |
({packageName: string, installApp:boolean|undefined, minimumVersion: string|undefined}|undefined) | यह कुकी, Android ऐप्लिकेशन के पैकेज का नाम सेट करती है. इससे Firebase Authentication को यह तय करने में मदद मिलती है कि उसे सिर्फ़ वेब लिंक बनाना चाहिए या मोबाइल लिंक. मोबाइल लिंक को Android डिवाइस पर खोला जाता है |
handleCodeInApp |
(बूलियन|तय नहीं है) | ईमेल ऐक्शन लिंक को पहले मोबाइल ऐप्लिकेशन में खोला जाएगा या वेब लिंक में. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होता है. इस विकल्प को 'सही है' पर सेट करने पर, कार्रवाई के कोड का लिंक, यूनिवर्सल लिंक या Android ऐप्लिकेशन लिंक के तौर पर भेजा जाएगा. अगर ऐप्लिकेशन इंस्टॉल है, तो उसे लिंक से खोला जाएगा. अगर यह वैल्यू गलत है, तो कोड सबसे पहले वेब विजेट को भेजा जाएगा. इसके बाद, जारी रखने पर ऐप्लिकेशन इंस्टॉल होने पर उसे रीडायरेक्ट कर दिया जाएगा. |
linkDomain |
(string|undefined) | किसी प्रोजेक्ट के लिए कस्टम Hosting लिंक डोमेन तय किए जाने पर, यह तय करें कि लिंक को किसी मोबाइल ऐप्लिकेशन से खोलने के लिए, किस डोमेन का इस्तेमाल किया जाए. ऐसा न करने पर, डिफ़ॉल्ट डोमेन अपने-आप चुना जाता है. उदाहरण के लिए, PROJECT_ID.firebaseapp.com |
dynamicLinkDomain |
(string|undefined) | समर्थन नहीं होना या रुकना. इस पैरामीटर को न डालें. |
यहां दिए गए उदाहरण में, ईमेल की पुष्टि करने वाले लिंक को भेजने का तरीका बताया गया है. यह लिंक, कस्टम Hosting डोमेन custom-domain.com
का इस्तेमाल करके, सबसे पहले मोबाइल ऐप्लिकेशन में खुलेगा. डीप लिंक में, जारी रखने के यूआरएल का पेलोड https://www.example.com/?email=user@example.com
शामिल होगा.
const actionCodeSettings = {
url: 'https://www.example.com/?email=' + firebase.auth().currentUser.email,
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android',
},
handleCodeInApp: true,
// Specify a custom Hosting link domain to use. The domain must be
// configured in Firebase Hosting and owned by the project.
linkDomain: "custom-domain.com"
};
firebase.auth().currentUser.sendEmailVerification(actionCodeSettings)
.then(function() {
// Verification email sent.
})
.catch(function(error) {
// Error occurred. Inspect error.code.
});
Firebase Hosting लिंक कॉन्फ़िगर करना
Firebase Authentication, मोबाइल ऐप्लिकेशन में खोले जाने वाले लिंक को भेजने के लिए Firebase Hosting का इस्तेमाल करता है. इस सुविधा का इस्तेमाल करने के लिए, Firebase कंसोल में होस्टिंग लिंक कॉन्फ़िगर किए जाने चाहिए.
Android ऐप्लिकेशन कॉन्फ़िगर करना:
- अगर आपको अपने Android ऐप्लिकेशन से इन लिंक को मैनेज करना है, तो आपके ऐप्लिकेशन के पैकेज का नाम Firebase कंसोल प्रोजेक्ट की सेटिंग में दिया जाना चाहिए. इसके अलावा, ऐप्लिकेशन के सर्टिफ़िकेट का SHA-1 और SHA-256 भी देना होगा.
- आपको अपनी
AndroidManifest.xml
फ़ाइल में, डीप लिंक के लिए इंटेंट फ़िल्टर भी कॉन्फ़िगर करना होगा. - इस बारे में ज़्यादा जानने के लिए, Android ऐप्लिकेशन के होस्टिंग लिंक पाने से जुड़े निर्देश देखें.
iOS ऐप्लिकेशन कॉन्फ़िगर करना:
- अगर आपको इन लिंक को अपने iOS ऐप्लिकेशन से मैनेज करना है, तो आपको अपने ऐप्लिकेशन की सुविधाओं में, Hosting लिंक डोमेन को असोसिएटेड डोमेन के तौर पर कॉन्फ़िगर करना होगा.
- इस बारे में ज़्यादा जानने के लिए, iOS होस्टिंग लिंक पाने के निर्देश देखें.
वेब ऐप्लिकेशन में ईमेल से जुड़ी कार्रवाइयों को मैनेज करना
आपके पास यह तय करने का विकल्प होता है कि आपको कार्रवाई के कोड वाले लिंक को पहले वेब ऐप्लिकेशन से हैंडल करना है या नहीं. अगर हैंडल करना है, तो कार्रवाई पूरी होने के बाद, आपको किसी दूसरे वेब पेज या मोबाइल ऐप्लिकेशन पर रीडायरेक्ट करना है या नहीं. हालांकि, ऐसा तब ही किया जा सकता है, जब मोबाइल ऐप्लिकेशन उपलब्ध हो.
इसके लिए, firebase.auth.ActionCodeSettings
ऑब्जेक्ट में handleCodeInApp
को false
पर सेट किया जाता है. हालांकि, iOS बंडल आईडी या Android पैकेज का नाम देना ज़रूरी नहीं है. इन्हें देने से, ईमेल ऐक्शन कोड पूरा होने पर उपयोगकर्ता को बताए गए ऐप्लिकेशन पर वापस रीडायरेक्ट किया जा सकेगा.
यहां इस्तेमाल किया गया वेब यूआरएल, ईमेल ऐक्शन टेंप्लेट सेक्शन में कॉन्फ़िगर किया गया यूआरएल है. सभी प्रोजेक्ट के लिए, डिफ़ॉल्ट रूप से एक उपलब्ध कराया जाता है. ईमेल ऐक्शन हैंडलर को पसंद के मुताबिक बनाने के तरीके के बारे में ज़्यादा जानने के लिए, ईमेल हैंडलर को पसंद के मुताबिक बनाना लेख पढ़ें.
इस मामले में, continueUrl
क्वेरी पैरामीटर में मौजूद लिंक, होस्टिंग लिंक होगा. इसका पेलोड, ActionCodeSettings
ऑब्जेक्ट में बताया गया URL
होगा.
ईमेल से जुड़ी कार्रवाइयों (जैसे, ईमेल की पुष्टि करना) को मैनेज करते समय, oobCode
क्वेरी पैरामीटर से मिले ऐक्शन कोड को डीप लिंक से पार्स करना होता है.इसके बाद, बदलाव लागू करने के लिए, applyActionCode
के ज़रिए इसे लागू करना होता है. जैसे, पुष्टि किया जाने वाला ईमेल.
मोबाइल ऐप्लिकेशन में ईमेल से जुड़ी कार्रवाइयों को मैनेज करना
आपके पास यह तय करने का विकल्प होता है कि अगर आपका मोबाइल ऐप्लिकेशन इंस्टॉल है, तो क्या आपको ऐक्शन कोड लिंक को सबसे पहले अपने मोबाइल ऐप्लिकेशन में हैंडल करना है. अगर लिंक पर क्लिक ऐसे डिवाइस से किया जाता है जिस पर मोबाइल ऐप्लिकेशन काम नहीं करता, तो लिंक को वेब पेज से खोला जाता है. इसके लिए, firebase.auth.ActionCodeSettings
ऑब्जेक्ट में handleCodeInApp
को true
पर सेट किया जाता है. मोबाइल ऐप्लिकेशन के Android पैकेज का नाम या iOS बंडल आईडी भी बताना होगा.
जब कोई मोबाइल ऐप्लिकेशन उपलब्ध नहीं होता है, तो यहां इस्तेमाल किया गया फ़ॉलबैक वेब यूआरएल, ईमेल ऐक्शन टेंप्लेट सेक्शन में कॉन्फ़िगर किया गया यूआरएल होता है. सभी प्रोजेक्ट के लिए, डिफ़ॉल्ट रूप से एक उपलब्ध कराया जाता है. ईमेल ऐक्शन हैंडलर को पसंद के मुताबिक बनाने के तरीके के बारे में ज़्यादा जानने के लिए, ईमेल हैंडलर को पसंद के मुताबिक बनाना लेख पढ़ें.
इस मामले में, उपयोगकर्ता को भेजा गया मोबाइल ऐप्लिकेशन लिंक, Hosting लिंक होगा. इसका पेलोड, Console में कॉन्फ़िगर किया गया ऐक्शन कोड यूआरएल होगा. इसमें क्वेरी पैरामीटर oobCode
, mode
, apiKey
, और continueUrl
शामिल होंगे. बाद वाला, ActionCodeSettings
ऑब्जेक्ट में दिया गया ओरिजनल URL
होगा. ऐक्शन कोड को सीधे तौर पर किसी मोबाइल ऐप्लिकेशन से लागू किया जा सकता है. यह ठीक उसी तरह से काम करता है जिस तरह ईमेल हैंडलर को पसंद के मुताबिक बनाना सेक्शन में बताए गए वेब फ़्लो से इसे मैनेज किया जाता है.
ईमेल से जुड़ी कार्रवाइयों (जैसे, ईमेल की पुष्टि करना) को मैनेज करते समय, oobCode
क्वेरी पैरामीटर से मिले ऐक्शन कोड को डीप लिंक से पार्स करना होता है.इसके बाद, बदलाव लागू करने के लिए, applyActionCode
के ज़रिए इसे लागू करना होता है. जैसे, पुष्टि किया जाने वाला ईमेल.