𝟱 𝗖𝗼𝗼𝗸𝗶𝗲 𝗧𝗿𝗶𝗰𝗸𝘀 𝗳𝗼𝗿 𝗗𝗲𝗯𝘂𝗴𝗴𝗶𝗻𝗴 𝗔𝘂𝘁𝗵 𝗜𝘀𝘀𝘂𝗲𝘀

ওয়েব অ্যাপে অথেন্টিকেশন ডিবাগ করা বেশ ধীরগতির কাজ। বিভিন্ন ধরণের ইউজার টেস্ট করার জন্য প্রায়ই নতুন অ্যাকাউন্ট তৈরি করতে বা সব কুকি মুছে ফেলতে গিয়ে অনেক সময় নষ্ট হয়।

আপনার ডাটাবেসে হাত না দিয়েই আপনি যেকোনো স্টেট (state) টেস্ট করতে পারেন। কুকি সরাসরি ম্যানিপুলেট করার জন্য এই পাঁচটি কৌশল ব্যবহার করুন।

১. সবকিছু মুছে ফেলার পরিবর্তে নির্দিষ্ট কুকি টার্গেট করুন

সব কুকি মুছে ফেললে আপনার ডেভ সার্ভার সেশন, লোকাল স্টোরেজ এবং Stripe টেস্ট মোড নষ্ট হয়ে যেতে পারে। এর পরিবর্তে, শুধুমাত্র অথ (auth) কুকিটি ডিলিট করুন।

সাধারণ কিছু নাম হলো:

  • session
  • sid
  • auth_token
  • _session_id

DevTools-এ গিয়ে Application > Cookies > [your domain]-এ যান। সেশন কুকিটির ওপর রাইট-ক্লিক করুন এবং Delete সিলেক্ট করুন। এটি আপনার অন্যান্য সেটিংস ঠিক রেখেই ইউজার স্টেটকে লগ-আউট অবস্থায় নিয়ে আসবে।

২. অনবোর্ডিং ফ্ল্যাগ (onboarding flags) ডিলিট করে নতুন ইউজার সিমুলেট করুন

ইউজার সেটআপ সম্পন্ন করেছে কি না তা ট্র্যাক করতে অ্যাপগুলো কুকি ব্যবহার করে। onboarding_complete বা first_visit-এর মতো নামগুলো খুঁজুন।

নতুন ইউজার ফ্লো টেস্ট করতে:

  • আপনার বর্তমান কুকিগুলো এক্সপোর্ট করুন।
  • অনবোর্ডিং ফ্ল্যাগটি ডিলিট করুন।
  • পেজটি রিলোড করুন।

এটি আপনাকে নতুন অ্যাকাউন্ট ছাড়াই প্রগ্রেসিভ UI ব্রাঞ্চগুলো টেস্ট করতে সাহায্য করবে।

৩. স্ন্যাপশট ব্যবহার করে ৩০ সেকেন্ডে ইউজার রোল পরিবর্তন করুন

আপনার অ্যাপে যদি Admin বা Guest-এর মতো বিভিন্ন রোল থাকে, তবে ম্যানুয়ালি লগ-ইন এবং লগ-আউট করবেন না। কুকি স্ন্যাপশট ব্যবহার করুন।

  • Admin হিসেবে লগ-ইন করুন। কুকিগুলোকে admin-session.json হিসেবে এক্সপোর্ট করুন।
  • একজন Regular User হিসেবে লগ-ইন করুন। সেগুলোকে user-session.json হিসেবে এক্সপোর্ট করুন।
  • রোল পরিবর্তন করতে শুধু JSON ফাইলটি ইমপোর্ট করুন এবং রিলোড দিন।

সার্ভার সেশন টোকেনের ওপর ভরসা করে। আপনি ইতিমধ্যে তৈরি করা বৈধ সেশনগুলোই ব্যবহার করছেন। এই JSON ফাইলগুলো লোকালি রাখুন। এগুলোতে সংবেদনশীল সেশন টোকেন থাকে।

৪. তাৎক্ষণিকভাবে এক্সপায়ার্ড সেশন টেস্ট করুন

একটি সেশন শেষ হওয়ার জন্য ঘণ্টার পর ঘণ্টা অপেক্ষা করবেন না। ম্যানুয়ালি এক্সপায়ারি ডেট (expiry date) পরিবর্তন করুন।

DevTools-এ আপনার সেশন কুকির Expires কলামে ডাবল-ক্লিক করুন। এটি অতীতের কোনো একটি তারিখে সেট করুন। পেজটি রিলোড করুন। একটি সেশন টাইম-আউট হলে ঠিক কী ঘটে তা আপনি দেখতে পাবেন।

৫. লগইন রিডাইরেক্ট লুপ (redirect loops) ঠিক করুন

অনেক সময় পুরনো বা ত্রুটিপূর্ণ কুকির কারণে লুপ তৈরি হয়। সেশনটি বিদ্যমান থাকে কিন্তু সার্ভার সেটি প্রত্যাখ্যান করে।

কারণটি খুঁজে পেতে:

  • অথ-সম্পর্কিত সব কুকি শনাক্ত করুন।
  • সেগুলো একে একে ডিলিট করুন।
  • প্রতিটি ডিলিট করার পর পেজ রিলোড করুন।

যে মুহূর্তে লুপটি বন্ধ হবে, আপনি ত্রুটিপূর্ণ কুকিটি পেয়ে যাবেন। এটি আপনাকে বুঝতে সাহায্য করবে যে সমস্যাটি একটি খারাপ টোকেন নাকি ভুল কুকি ডোমেইনের কারণে হচ্ছে।

এই পদ্ধতিগুলো HttpOnly কুকির ক্ষেত্রেও কাজ করে কারণ DevTools এবং CookieJar-এর মতো এক্সটেনশনগুলো ব্রাউজার লেভেলে কাজ করে।

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