हम सभी को यह पसंद है कि नेटिव ऐप्लिकेशन आपको सिर्फ़ एक बार लॉगिन करने के लिए कहते हैं और फिर आपको तब तक याद रखते हैं, जब तक आप उन्हें लॉग आउट करने के लिए नहीं कहते. माफ़ करें, वेब हमेशा ऐसा काम नहीं करता.
अब डिवाइस, खास तौर पर मोबाइल डिवाइस ज़्यादा निजी हो गए हैं. साथ ही, ज़्यादा से ज़्यादा साइटें अपना सारा ट्रैफ़िक एचटीटीपीएस पर भेज रही हैं, जिससे टोकन चोरी होने का जोखिम कम हो गया है. इसलिए, वेबसाइटों को अपनी कुछ समय के लिए सेव रहने वाली कुकी की नीतियों पर फिर से विचार करना चाहिए. साथ ही, उपयोगकर्ता के लिहाज़ से ज़्यादा आसान और लंबे समय तक सेव रहने वाले सेशन को अपनाना चाहिए.
हालांकि, अगर आपको सेशन को ज़्यादा समय तक जारी रखना है, तो भी कुछ वेबसाइटें हर अनुरोध पर उपयोगकर्ता की पुष्टि नहीं करती हैं. दूसरे शब्दों में, जारी किए जाने के बाद सेशन कुकी को रद्द करने का कोई तरीका नहीं है. आम तौर पर, इससे सेशन कम समय के लिए चलते हैं. साथ ही, उपयोगकर्ता को बार-बार साइन इन करना पड़ता है, ताकि उसकी पुष्टि फिर से की जा सके. इससे, पासवर्ड बदलने जैसी चीज़ों की मदद से, तय समय में मौजूदा सेशन अमान्य किए जा सकते हैं.
अगर आपने इस तरीके का इस्तेमाल किया है, तो हमारे पास एक तकनीकी समाधान है. इससे, आपको स्टेटलेस पुष्टि करने वाली कुकी की अपने-आप फिर से पुष्टि करने में मदद मिल सकती है. यह लंबे समय तक चलने वाला एक सेकंडरी टोकन बनाकर काम करता है. इसका इस्तेमाल, पुष्टि करने के लिए कम समय तक चलने वाली मौजूदा कुकी को रीफ़्रेश करने के लिए किया जा सकता है. नए सेवा वर्कर पैटर्न का फ़ायदा उठाकर, हम लंबे समय तक काम करने वाले टोकन के साथ नियमित तौर पर "चेक इन" कर सकते हैं. साथ ही, उपयोगकर्ता के पुष्टि करने की प्रक्रिया की पुष्टि कर सकते हैं. उदाहरण के लिए, यह देखना कि उन्होंने हाल ही में अपना पासवर्ड बदला है या नहीं या उन्होंने सेशन को रद्द किया है या नहीं. इसके अलावा, हम पुष्टि करने के लिए, कम समय तक काम करने वाली नई कुकी को फिर से जारी कर सकते हैं.
वेब पर लंबे और सुरक्षित सेशन पर माइग्रेट करने के लिए एक व्यावहारिक प्रस्ताव
इस पोस्ट में, हम एक नई तकनीक के बारे में बता रहे हैं. इसे हम 2-कुकी-हैंडऑफ़ (2CH) कहते हैं. हम इस लेख का इस्तेमाल करके, कम्यूनिटी से इस बारे में सुझाव, राय या शिकायतें सुनना चाहते हैं कि क्या यह तरीका सही है. अगर ऐसा है, तो हम इंडस्ट्री के साथ मिलकर, 2CH का इस्तेमाल करने के सबसे सही तरीकों को दस्तावेज़ में शामिल करेंगे.
सेवा वर्कर एक नई टेक्नोलॉजी है. यह Chrome, Firefox, Opera जैसे कई ब्राउज़र पर काम करती है. यह जल्द ही Edge पर भी काम करेगी. इनकी मदद से, मौजूदा पेजों में बदलाव किए बिना, क्लाइंट पर कोड के एक सामान्य पॉइंट के ज़रिए, अपनी साइट से सभी नेटवर्क अनुरोधों को इंटरसेप्ट किया जा सकता है. इससे, लॉग इन किए हुए उपयोगकर्ताओं के लिए "2CH वर्कर्स" सेट अप किए जा सकते हैं. ये वर्कर्स, आपके पेज के सभी नेटवर्क अनुरोधों को इंटरसेप्ट कर सकते हैं और मोबाइल ऐप्लिकेशन की तरह ही टोकन स्वैप कर सकते हैं.
ज़्यादातर मामलों में, आपके सर्वर पर पहले से ही एक एंडपॉइंट होता है. मोबाइल ऐप्लिकेशन, आम तौर पर OAuth प्रोटोकॉल का इस्तेमाल करके, कुछ समय के लिए मान्य होने वाला नया टोकन पाने के लिए इस एंडपॉइंट का इस्तेमाल करते हैं. वेब पर ऊपर दिए गए पैटर्न को चालू करने के लिए, उस एंडपॉइंट को अपडेट करना होगा, ताकि यह समझा जा सके कि उसे सर्विस वर्कर कब कॉल कर रहा है. इसके बाद, एक नई सेशन कुकी दिखाएं, जिसे इस तरह फ़ॉर्मैट किया गया हो कि साइट के अन्य पेज पहले से ही इसकी उम्मीद कर रहे हों.
अगर आपके सर्वर में पहले से ऐसा एंडपॉइंट नहीं है, तो वह सिर्फ़ ब्राउज़र सेशन मैनेजमेंट के लिए एक एंडपॉइंट बना सकता है.
सर्विस वर्कर के साथ दो टोकन वाला पैटर्न, OAuth 2.0 पैटर्न के काफ़ी करीब है. अगर आपने पहले से ही OAuth टोकन एंडपॉइंट चलाया है, तो हो सकता है कि आप अपने वेब की पुष्टि के लिए, सर्विस वर्कर के साथ इसका फिर से इस्तेमाल कर सकें.
आपको यह भी जानना हो सकता है कि अगर उपयोगकर्ता किसी ऐसे ब्राउज़र पर जाता है जो सेवा वर्कर के साथ काम नहीं करता, तो क्या होगा. ऊपर बताए गए तरीके को लागू करने पर, उन्हें कोई फ़र्क़ नहीं पड़ेगा और वे छोटे सेशन का इस्तेमाल करना जारी रखेंगे.
हमने सैंपल क्लाइंट और बैकएंड पब्लिश किया है. हमें उम्मीद है कि आप इसे आज़माएंगे और सेशन मैनेजमेंट के बारे में सर्वे में हिस्सा लेंगे.