𝟱 ഓതന്റിക്കേഷൻ പ്രശ്നങ്ങൾ ഡിബഗ് ചെയ്യുന്നതിനായുള്ള 5 കുക്കി ട്രിക്കുകൾ
വെബ് ആപ്പുകളിലെ ഓതന്റിക്കേഷൻ (authentication) ഡിബഗ് ചെയ്യുന്നത് സാവധാനത്തിലുള്ള പ്രക്രിയയാണ്. വ്യത്യസ്ത യൂസർ ടൈപ്പുകൾ പരിശോധിക്കുന്നതിനായി പുതിയ അക്കൗണ്ടുകൾ നിർമ്മിക്കാനോ എല്ലാ കുക്കികളും ക്ലിയർ ചെയ്യാനോ നിങ്ങൾ പലപ്പോഴും സമയം പാഴാക്കാറുണ്ട്.
നിങ്ങളുടെ ഡാറ്റാബേസിൽ മാറ്റം വരുത്താതെ തന്നെ ഏത് സ്റ്റേറ്റും നിങ്ങൾക്ക് പരിശോധിക്കാനാകും. കുക്കികൾ നേരിട്ട് നിയന്ത്രിക്കുന്നതിനായി ഈ അഞ്ച് സാങ്കേതിക വിദ്യകൾ ഉപയോഗിക്കുക.
- എല്ലാം ക്ലിയർ ചെയ്യുന്നതിന് പകരം പ്രത്യേക കുക്കികളെ മാത്രം ലക്ഷ്യമിടുക
എല്ലാ കുക്കികളും ക്ലിയർ ചെയ്യുന്നത് നിങ്ങളുടെ ഡെവ് സെർവർ സെഷൻ (dev server session), ലോക്കൽ സ്റ്റോറേജ് (local storage), സ്ട്രൈപ്പ് ടെസ്റ്റ് മോഡുകൾ (Stripe test modes) എന്നിവ നശിപ്പിക്കും. അതിനുപകരം, ഓത്ത് കുക്കി (auth cookie) മാത്രം ഡിലീറ്റ് ചെയ്യുക.
സാധാരണയായി കാണപ്പെടുന്ന പേരുകൾ ഇവയാണ്:
- session
- sid
- auth_token
- _session_id
DevTools-ൽ, Application > Cookies > [your domain] എന്നതിലേക്ക് പോകുക. സെഷൻ കുക്കിയിൽ റൈറ്റ്-ക്ലിക്ക് ചെയ്ത് Delete എന്നത് തിരഞ്ഞെടുക്കുക. ഇത് നിങ്ങളുടെ മറ്റ് സെറ്റിംഗുകൾ മാറ്റമില്ലാതെ നിലനിർത്തിക്കൊണ്ട് തന്നെ യൂസർ സ്റ്റേറ്റിനെ ലോഗ്-ഔട്ട് (logged-out) അവസ്ഥയിലേക്ക് മാറ്റുന്നു.
- ഓൺബോർഡിംഗ് ഫ്ലാഗുകൾ ഡിലീറ്റ് ചെയ്തുകൊണ്ട് പുതിയ ഉപയോക്താക്കളെ അനുകരിക്കുക
ഒരു ഉപയോക്താവ് സെറ്റപ്പ് പൂർത്തിയാക്കിയോ എന്ന് ട്രാക്ക് ചെയ്യാൻ ആപ്പുകൾ കുക്കികൾ ഉപയോഗിക്കുന്നു. onboarding_complete അല്ലെങ്കിൽ first_visit പോലുള്ള പേരുകൾ ശ്രദ്ധിക്കുക.
പുതിയ യൂസർ ഫ്ലോ പരിശോധിക്കാൻ:
- നിലവിലുള്ള കുക്കികൾ എക്സ്പോർട്ട് (Export) ചെയ്യുക.
- ഓൺബോർഡിംഗ് ഫ്ലാഗ് ഡിലീറ്റ് ചെയ്യുക.
- പേജ് റീലോഡ് ചെയ്യുക.
പുതിയ അക്കൗണ്ട് ഇല്ലാതെ തന്നെ പ്രോഗ്രസീവ് UI ബ്രാഞ്ചുകൾ പരിശോധിക്കാൻ ഇത് നിങ്ങളെ സഹായിക്കുന്നു.
- സ്നാപ്പ്ഷോട്ടുകൾ ഉപയോഗിച്ച് 30 സെക്കൻഡിനുള്ളിൽ യൂസർ റോളുകൾ മാറ്റുക
നിങ്ങളുടെ ആപ്പിൽ Admin അല്ലെങ്കിൽ Guest എന്നിങ്ങനെ വ്യത്യസ്ത റോളുകൾ ഉണ്ടെങ്കിൽ, ഓരോ തവണയും ലോഗ് ഇൻ ചെയ്യാനും ലോഗ് ഔട്ട് ചെയ്യാനും സമയം കളയേണ്ടതില്ല. കുക്കി സ്നാപ്പ്ഷോട്ടുകൾ ഉപയോഗിക്കുക.
- Admin ആയി ലോഗ് ഇൻ ചെയ്യുക. കുക്കികൾ admin-session.json ആയി എക്സ്പോർട്ട് ചെയ്യുക.
- ഒരു Regular User ആയി ലോഗ് ഇൻ ചെയ്യുക. അവ user-session.json ആയി എക്സ്പോർട്ട് ചെയ്യുക.
- റോളുകൾ മാറ്റാൻ, JSON ഫയൽ ഇംപോർട്ട് ചെയ്ത് പേജ് റീലോഡ് ചെയ്താൽ മതി.
സെർവർ സെഷൻ ടോക്കണുകളെ (session token) വിശ്വസിക്കുന്നു. നിങ്ങൾ നേരത്തെ തന്നെ നിർമ്മിച്ച സാധുവായ സെഷനുകളാണ് ഇവിടെ ഉപയോഗിക്കുന്നത്. ഈ JSON ഫയലുകൾ ലോക്കലായി സൂക്ഷിക്കുക. അവയിൽ സെൻസിറ്റീവ് ആയ സെഷൻ ടോക്കണുകൾ അടങ്ങിയിട്ടുണ്ട്.
- കാലാവധി കഴിഞ്ഞ സെഷനുകൾ ഉടൻ തന്നെ പരിശോധിക്കുക
ഒരു സെഷൻ അവസാനിക്കാൻ മണിക്കൂറുകളോളം കാത്തുനിൽക്കേണ്ടതില്ല. എക്സ്പയറി ഡേറ്റ് (expiry date) മാനുവലായി മാറ്റുക.
DevTools-ൽ, നിങ്ങളുടെ സെഷൻ കുക്കിയുടെ Expires കോളത്തിൽ ഡബിൾ-ക്ലിക്ക് ചെയ്യുക. അത് കഴിഞ്ഞുപോയ ഒരു തീയതിയിലേക്ക് മാറ്റുക. പേജ് റീലോഡ് ചെയ്യുക. ഒരു സെഷൻ ടൈം ഔട്ട് (time out) ചെയ്യുമ്പോൾ എന്താണ് സംഭവിക്കുന്നതെന്ന് നിങ്ങൾക്ക് കൃത്യമായി കാണാൻ കഴിയും.
- ലോഗിൻ റീഡയറക്ട് ലൂപ്പുകൾ പരിഹരിക്കുക
പഴയതോ അല്ലെങ്കിൽ തെറ്റായ രീതിയിലുള്ളതോ ആയ കുക്കികൾ കാരണമാണ് പലപ്പോഴും ലൂപ്പുകൾ ഉണ്ടാകുന്നത്. സെഷൻ നിലവിലുണ്ടെങ്കിലും സെർവർ അത് നിരസിക്കുന്നു.
കാരണം കണ്ടെത്താൻ:
- ഓത്ത് (auth) സംബന്ധമായ എല്ലാ കുക്കികളും കണ്ടെത്തുക.
- അവ ഓരോന്നായി ഡിലീറ്റ് ചെയ്യുക.
- ഓരോ ഡിലീഷനും ശേഷം പേജ് റീലോഡ് ചെയ്യുക.
ലൂപ്പ് നിൽക്കുന്ന നിമിഷം, നിങ്ങൾ തകരാറുള്ള കുക്കി കണ്ടെത്തിക്കഴിഞ്ഞു. പ്രശ്നം ഒരു മോശം ടോക്കൺ ആണോ അതോ തെറ്റായ കുക്കി ഡൊമൈൻ ആണോ എന്ന് തിരിച്ചറിയാൻ ഇത് സഹായിക്കുന്നു.
DevTools-ഉം CookieJar പോലുള്ള എക്സ്റ്റൻഷനുകളും ബ്രൗസർ തലത്തിലാണ് പ്രവർത്തിക്കുന്നത് എന്നതിനാൽ, ഈ രീതികൾ HttpOnly കുക്കികൾക്കും ഫലപ്രദമാണ്.