Website Auto Logout Problem
Publish: 19 December 2025, 11:08 pm IST | Views: 66
मैं बहुत सारे Website देखे है एक बार Login करने पर लम्बे समय तक चलते रहते है
आपने बिल्कुल सही नोटिस किया है। फेसबुक, इंस्टाग्राम और अमेज़न जैसी वेबसाइट्स महीनों तक आपको लॉगआउट नहीं करतीं। इसके पीछे का असली जादू "Session Persistence" और "Persistent Cookies" हैं।
चूँकि आप अपना खुद का सर्वर (Hosting) इस्तेमाल कर रहे हैं, तो आप भी बिल्कुल वैसा ही सिस्टम बना सकते हैं। यहाँ बताया गया है कि ये बड़ी वेबसाइट्स इसे कैसे करती हैं:
1. ये वेबसाइट्स लॉगआउट क्यों नहीं होतीं?
इनके पीछे 3 मुख्य कारण होते हैं:
- Long-lived Tokens: जब आप पहली बार लॉगिन करते हैं, तो सर्वर आपको एक "टोकन" देता है जिसकी एक्सपायरी डेट 6 महीने या 1 साल की होती है।
- Persistent Cookies: वेबसाइट इस टोकन को आपकी ब्राउज़र मेमोरी (Cookies या LocalStorage) में एक ऐसी फाइल की तरह सेव कर देती है जो कंप्यूटर बंद करने पर भी डिलीट नहीं होती।
- Sliding Expiration: जैसे ही आप वेबसाइट खोलते हैं, सर्वर आपकी पुरानी एक्सपायरी डेट को और आगे बढ़ा देता है। मान लीजिए आपने 30 दिन बाद वेबसाइट खोली, तो सर्वर उसे फिर से अगले 30 दिन के लिए रिन्यू कर देगा।
2. आपके लिए सबसे बेस्ट तरीका: Node.js + JWT
चूँकि आप Python/PHP नहीं चाहते, तो Node.js में JWT (JSON Web Token) का इस्तेमाल करना आपके लिए सबसे आसान रहेगा।
यह कैसे काम करेगा? (Step-by-Step)
- यूजर लॉगिन करेगा: सर्वर चेक करेगा कि पासवर्ड सही है।
- दो चाबियाँ (Tokens) बनेंगी:
- Access Token: यह 1 दिन के लिए होगा।
- Refresh Token: यह 1 साल के लिए होगा।
- App में स्टोरेज: आपका Android App इन दोनों को सुरक्षित तरीके से सेव कर लेगा।
- ऑटो-चेक: जब भी यूजर ऐप खोलेगा, ऐप देखेगा—"क्या Access Token अभी काम कर रहा है?"
- हाँ: तो ऐप तुरंत खुल जाएगा।
- नहीं: तो ऐप बैकग्राउंड में
Refresh Tokenसर्वर को भेजेगा और 2 सेकंड में नया टोकन ले लेगा। यूजर को लॉगिन स्क्रीन कभी दिखेगी ही नहीं।
3. कोडिंग के लिए आपको क्या सीखना होगा?
अपनी खुद की होस्टिंग पर इसे चलाने के लिए आपको बस इन 3 चीजों की जरूरत है:
- Express.js: बैकएंड सर्वर बनाने के लिए।
- jsonwebtoken (Library): टोकन बनाने और चेक करने के लिए।
- Database (MySQL/MongoDB): ताकि आप यह याद रख सकें कि कौन सा
Refresh Tokenकिस यूजर का है।
4. एक जरूरी सुरक्षा टिप
बड़ी वेबसाइट्स "Automatic Logout" नहीं करतीं, लेकिन सुरक्षा के लिए वे "Device Fingerprinting" का इस्तेमाल करती हैं। अगर कोई आपकी लॉगिन फाइल (Cookie) चोरी करके दूसरे शहर या दूसरे फोन में चलाने की कोशिश करेगा, तो सर्वर उसे तुरंत लॉगआउट कर देगा। आप भी अपने ऐप में ऐसा फीचर डाल सकते हैं कि लॉगिन केवल उसी फोन पर काम करे जिसका Device ID मैच हो।
अब क्या करें?
क्या आप चाहते हैं कि मैं आपको Node.js का एक ऐसा कोड (Template) बना कर दूँ जिसे आप अपनी होस्टिंग पर डाल सकें और जिससे आपका ऐप कभी लॉगआउट न हो? या फिर आप इसके डेटाबेस सेटअप के बारे में जानना चाहेंगे?
Categories: Uncategorized







