٥ حيل لملفات تعريف الارتباط (Cookies) لتصحيح مشكلات المصادقة
تصحيح أخطاء المصادقة في تطبيقات الويب عملية بطيئة. غالبًا ما تضيع الوقت في إنشاء حسابات جديدة أو مسح جميع ملفات تعريف الارتباط لاختبار أنواع مختلفة من المستخدمين.
يمكنك اختبار أي حالة دون المساس بقاعدة البيانات الخاصة بك. استخدم هذه التقنيات الخمس للتلاعب بملفات تعريف الارتباط مباشرة.
- استهدف ملفات تعريف ارتباط محددة بدلاً من مسح كل شيء
مسح جميع ملفات تعريف الارتباط يؤدي إلى تدمير جلسة خادم التطوير (dev server session)، والتخزين المحلي (local storage)، وأنماط اختبار Stripe. بدلاً من ذلك، احذف ملف تعريف ارتباط المصادقة (auth cookie) فقط.
تشمل الأسماء الشائعة:
- session
- sid
- auth_token
- _session_id
في DevTools، انتقل إلى Application > Cookies > [your domain]. انقر بزر الماوس الأيمن على ملف تعريف ارتباط الجلسة واختر Delete. سيؤدي هذا إلى إعادة ضبط حالة المستخدم إلى "تسجيل الخروج" مع الحفاظ على إعداداتك الأخرى سليمة.
- محاكاة المستخدمين الجدد عن طريق حذف أعلام التهيئة (onboarding flags)
تستخدم التطبيقات ملفات تعريف الارتباط لتتبع ما إذا كان المستخدم قد أكمل الإعداد. ابحث عن أسماء مثل onboarding_complete أو first_visit.
لاختبار تدفق المستخدم الجديد:
- قم بتصدير ملفات تعريف الارتباط الحالية.
- احذف علم التهيئة (onboarding flag).
- أعد تحميل الصفحة.
يتيح لك ذلك اختبار فروع واجهة المستخدم التدريجية دون الحاجة إلى حساب جديد.
- تبديل أدوار المستخدمين في ٣٠ ثانية باستخدام اللقطات (snapshots)
إذا كان تطبيقك يحتوي على أدوار مختلفة مثل Admin أو Guest، فلا تقم بتسجيل الدخول والخروج يدويًا. استخدم لقطات ملفات تعريف الارتباط (cookie snapshots).
- سجل الدخول كـ Admin. قم بتصدير ملفات تعريف الارتباط كـ
admin-session.json. - سجل الدخول كمستخدم عادي (Regular User). قم بتصديرها كـ
user-session.json. - لتبديل الأدوار، ما عليك سوى استيراد ملف JSON وإعادة التحميل.
يثق الخادم في رمز الجلسة (session token). أنت تستخدم جلسات صالحة قمت بإنشائها بالفعل. احتفظ بملفات JSON هذه محليًا، فهي تحتوي على رموز جلسة حساسة.
- اختبار الجلسات المنتهية فوراً
لا تنتظر ساعات حتى تنتهي صلاحية الجلسة. قم بتغيير تاريخ انتهاء الصلاحية يدويًا.
في DevTools، انقر نقرًا مزدوجًا على عمود Expires لملف تعريف ارتباط الجلسة الخاص بك. اضبطه على تاريخ في الماضي. أعد تحميل الصفحة. سترى بالضبط ما يحدث عندما تنتهي مهلة الجلسة.
- إصلاح حلقات إعادة التوجيه عند تسجيل الدخول (login redirect loops)
تحدث الحلقات غالبًا بسبب ملف تعريف ارتباط قديم أو مشوه. الجلسة موجودة ولكن الخادم يرفضها.
لمعرفة السبب:
- حدد جميع ملفات تعريف الارتباط المتعلقة بالمصادقة.
- احذفها واحدًا تلو الآخر.
- أعد التحميل بعد كل عملية حذف.
في اللحظة التي تتوقف فيها الحلقة، ستكون قد وجدت ملف تعريف الارتباط المعطل. يساعدك هذا في تحديد ما إذا كانت المشكلة في رمز (token) سيئ أو نطاق (domain) غير صحيح لملف تعريف الارتباط.
تعمل هذه الطرق حتى مع ملفات تعريف الارتباط من نوع HttpOnly لأن DevTools والإضافات مثل CookieJar تعمل على مستوى المتصفح.