𝟱 அங்கீகாரம் (Auth) தொடர்பான சிக்கல்களைத் தீர்க்க 5 குக்கீ நுணுக்கங்கள்

இணைய செயலிகளில் (web apps) அங்கீகாரப் பிழைகளைத் திருத்துவது (Debugging) மெதுவான செயல்முறை. வெவ்வேறு பயனர் வகைகளைச் சோதிக்க புதிய கணக்குகளை உருவாக்குவதிலோ அல்லது அனைத்து குக்கீகளையும் அழிப்பதிலோ நீங்கள் பெரும்பாலும் நேரத்தை வீணடிக்கிறீர்கள்.

உங்கள் தரவுத்தளத்தை (database) மாற்றாமல் எந்த நிலையையும் நீங்கள் சோதிக்க முடியும். குக்கீகளை நேரடியாகக் கையாள இந்த ஐந்து நுட்பங்களைப் பயன்படுத்தவும்.

  1. அனைத்தையும் அழிப்பதற்குப் பதிலாக குறிப்பிட்ட குக்கீகிகளை மட்டும் இலக்கு வைக்கவும்

அனைத்து குக்கீகளையும் அழிப்பது உங்கள் டெவ் சர்வர் (dev server) செஷன், லோக்கல் ஸ்டோரேஜ் (local storage) மற்றும் Stripe டெஸ்ட் மோட்களை (test modes) அழித்துவிடும். அதற்குப் பதிலாக, அங்கீகார குக்கீயை (auth cookie) மட்டும் நீக்கவும்.

பொதுவான பெயர்கள்:

  • session
  • sid
  • auth_token
  • _session_id

DevTools-இல், Application > Cookies > [your domain] என்பதற்குச் செல்லவும். செஷன் குக்கீயை (session cookie) வலது கிளிக் செய்து Delete என்பதைத் தேர்ந்தெடுக்கவும். இது உங்கள் மற்ற அமைப்புகளை மாற்றாமல், பயனர் நிலையை லாக்-அவுட் (logged-out) நிலைக்கு மாற்றும்.

  1. onboarding flags-களை நீக்குவதன் மூலம் புதிய பயனர்களைப் போலச் செயல்படலாம்

ஒரு பயனர் அமைப்பை (setup) முடித்துவிட்டாரா என்பதைக் கண்காணிக்க செயலிகள் குக்கீகிகளைப் பயன்படுத்துகின்றன. onboarding_complete அல்லது first_visit போன்ற பெயர்களைத் தேடவும்.

புதிய பயனர் ஓட்டத்தைச் (new user flow) சோதிக்க:

  • உங்கள் தற்போதைய குக்கீகிகளைத் தரவிறக்கம் (Export) செய்யவும்.
  • onboarding flag-ஐ நீக்கவும்.
  • பக்கத்தைப் புதுப்பிக்கவும் (Reload).

இது புதிய கணக்கு இல்லாமலேயே படிப்படியான UI கிளைகளை (progressive UI branches) சோதிக்க உதவும்.

  1. ஸ்னாப்ஷாட்களைப் (snapshots) பயன்படுத்தி 30 வினாடிகளில் பயனர் பாத்திரங்களை மாற்றவும்

உங்கள் செயலியில் Admin அல்லது Guest போன்ற வெவ்வேறு பாத்திரங்கள் இருந்தால், ஒவ்வொன்றாக லாக்-இன் மற்றும் லாக்-அவுட் செய்ய வேண்டாம். குக்கீ ஸ்னாப்ஷாட்களைப் பயன்படுத்தவும்.

  • Admin ஆக லாக்-இன் செய்யவும். குக்கீகிகளை admin-session.json எனத் தரவிறக்கம் செய்யவும்.
  • சாதாரண பயனர் (Regular User) ஆக லாக்-இன் செய்யவும். அவற்றை user-session.json எனத் தரவிறக்கம் செய்யவும்.
  • பாத்திரங்களை மாற்ற, JSON கோப்பை இறக்குமதி (import) செய்து பக்கத்தைப் புதுப்பித்தால் போதுமானது.

சர்வர் செஷன் டோக்கனை (session token) நம்புகிறது. நீங்கள் ஏற்கனவே உருவாக்கிய செல்லுபடியாகும் செஷன்களையே பயன்படுத்துகிறீர்கள். இந்த JSON கோப்புகளைத் தனிப்பட்ட முறையில் (local) வைத்திருக்கவும். இவற்றில் முக்கியமான செஷன் டோக்கன்கள் உள்ளன.

  1. காலாவதியான செஷன்களை உடனடியாகச் சோதிக்கவும்

ஒரு செஷன் காலாவதியாவதற்காக மணிக்கணக்கில் காத்திருக்க வேண்டாம். காலாவதியாகும் தேதியை (expiry date) கைமுறையாக மாற்றவும்.

DevTools-இல், உங்கள் செஷன் குக்கீயின் Expires காலத்திற்கு (column) இருமுறை கிளிக் செய்யவும். அதை கடந்த காலத் தேதிக்கு மாற்றவும். பக்கத்தைப் புதுப்பிக்கவும். ஒரு செஷன் காலாவதியாகும் போது (timeout) என்ன நடக்கும் என்பதை நீங்கள் துல்லியமாகப் பார்க்கலாம்.

  1. லாகின் ரீடைரக்ட் லூப்களை (login redirect loops) சரிசெய்யவும்

பழைய அல்லது தவறான குக்கீயால் (stale or malformed cookie) பெரும்பாலும் இந்த லூப்கள் ஏற்படுகின்றன. செஷன் இருந்தாலும் சர்வர் அதை நிராகரிக்கிறது.

காரணத்தைக் கண்டறிய:

  • அங்கீகாரம் தொடர்பான அனைத்து குக்கீகளையும் அடையாளம் காணவும்.
  • அவற்றை ஒவ்வொன்றாக நீக்கவும்.
  • ஒவ்வொரு முறை நீக்கிய பிறகும் பக்கத்தைப் புதுப்பிக்கவும்.

லூப் நிற்கும் தருணமே, நீங்கள் பிழையான குக்கீயைக் கண்டறிந்துவிட்டீர்கள் என்று அர்த்தம். இது சிக்கல் தவறான டோக்கனா அல்லது தவறான குக்கீ டொமைனா (cookie domain) என்பதைக் கண்டறிய உதவும்.

DevTools மற்றும் CookieJar போன்ற எக்ஸ்டென்ஷன்கள் பிரவுசர் மட்டத்தில் (browser level) செயல்படுவதால், இந்த முறைகள் HttpOnly குக்கீகளுக்கும் பொருந்தும்.

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