𝟱 ऑथ समस्याओं को डीबग करने के लिए 5 कुकी ट्रिक्स

वेब ऐप्स में ऑथेंटिकेशन (authentication) को डीबग करना धीमा काम है। अलग-अलग यूजर टाइप्स को टेस्ट करने के लिए आप अक्सर नए अकाउंट बनाने या सभी कुकीज़ को क्लियर करने में समय बर्बाद करते हैं।

आप अपने डेटाबेस को छुए बिना किसी भी स्टेट (state) को टेस्ट कर सकते हैं। कुकीज़ को सीधे मैनिपुलेट करने के लिए इन पांच तकनीकों का उपयोग करें।

  1. सब कुछ क्लियर करने के बजाय विशिष्ट कुकीज़ को टारगेट करें

सभी कुकीज़ को क्लियर करने से आपका देव सर्वर सेशन (dev server session), लोकल स्टोरेज और Stripe टेस्ट मोड नष्ट हो जाते हैं। इसके बजाय, केवल ऑथ कुकी को डिलीट करें।

सामान्य नामों में शामिल हैं:

  • session
  • sid
  • auth_token
  • _session_id

DevTools में, Application > Cookies > [your domain] पर जाएं। सेशन कुकी पर राइट-क्लिक करें और Delete चुनें। इससे आपकी अन्य सेटिंग्स को बरकरार रखते हुए यूजर स्टेट को लॉग-आउट (logged-out) पर रीसेट कर दिया जाता है।

  1. ऑनबोर्डिंग फ्लैग्स को डिलीट करके नए यूजर्स का अनुकरण करें

ऐप्स यह ट्रैक करने के लिए कुकीज़ का उपयोग करते हैं कि यूजर ने सेटअप पूरा किया है या नहीं। onboarding_complete या first_visit जैसे नामों को देखें।

नए यूजर फ्लो को टेस्ट करने के लिए:

  • अपनी वर्तमान कुकीज़ को एक्सपोर्ट करें।
  • ऑनबोर्डिंग फ्लैग को डिलीट करें।
  • पेज को रीलोड करें।

इससे आप बिना नया अकाउंट बनाए प्रोग्रेसिव UI ब्रांचेस (progressive UI branches) को टेस्ट कर सकते हैं।

  1. स्नैपशॉट्स का उपयोग करके 30 सेकंड में यूजर रोल बदलें

यदि आपके ऐप में Admin या Guest जैसे अलग-अलग रोल हैं, तो मैन्युअल रूप से लॉग इन और लॉग आउट न करें। कुकी स्नैपशॉट्स का उपयोग करें।

  • Admin के रूप में लॉग इन करें। कुकीज़ को admin-session.json के रूप में एक्सपोर्ट करें।
  • एक Regular User के रूप में लॉग इन करें। उन्हें user-session.json के रूप में एक्सपोर्ट करें।
  • रोल बदलने के लिए, बस JSON फ़ाइल को इम्पोर्ट करें और रीलोड करें।

सर्वर सेशन टोकन पर भरोसा करता है। आप उन वैध सेशन्स का उपयोग कर रहे हैं जिन्हें आपने पहले ही बना लिया है। इन JSON फ़ाइलों को लोकल रखें। इनमें संवेदनशील सेशन टोकन होते हैं।

  1. एक्सपायर्ड सेशन्स को तुरंत टेस्ट करें

सेशन के खत्म होने का घंटों इंतज़ार न करें। एक्सपायरी डेट को मैन्युअल रूप से बदलें।

DevTools में, अपनी सेशन कुकी के लिए Expires कॉलम पर डबल-क्लिक करें। इसे बीते हुए किसी समय (past date) पर सेट करें। पेज को रीलोड करें। आप बिल्कुल वही देखेंगे जो सेशन टाइम-आउट होने पर होता है।

  1. लॉगिन रिडायरेक्ट लूप्स को ठीक करें

लूप अक्सर पुराने (stale) या गलत तरीके से बने (malformed) कुकी के कारण होते हैं। सेशन मौजूद होता है लेकिन सर्वर उसे रिजेक्ट कर देता है।

कारण का पता लगाने के लिए:

  • सभी ऑथ-संबंधित कुकीज़ की पहचान करें।
  • उन्हें एक-एक करके डिलीट करें।
  • प्रत्येक डिलीशन के बाद रीलोड करें।

जिस क्षण लूप रुकता है, आपको खराब कुकी मिल जाती है। इससे आपको यह पहचानने में मदद मिलती है कि समस्या एक खराब टोकन है या गलत कुकी डोमेन।

ये तरीके HttpOnly कुकीज़ के लिए भी काम करते हैं क्योंकि DevTools और CookieJar जैसे एक्सटेंशन ब्राउज़र लेवल पर काम करते हैं।

Source: https://dev.to/ktg0215/5-cookie-tricks-for-debugging-auth-issues-in-chrome-no-more-creating-test-accounts-43b5