وداعًا للجلسات القصيرة - اقتراح لاستخدام عاملي الخدمة لتحسين إدارة ملفات تعريف الارتباط على الويب

William Denniss

تعجبنا جميعًا الطريقة التي تطلب بها التطبيقات الأصلية منك تسجيل الدخول مرة واحدة فقط، ثم تذكرك إلى أن تخبرها بأنّك تريد تسجيل الخروج. لكن للأسف لا يعمل الويب دائمًا بهذه الطريقة.

والآن بعد أن أصبحت الأجهزة، وخاصةً الأجهزة الجوّالة، أكثر تخصيصًا، ومع إرسال المزيد من المواقع الإلكترونية جميع الزيارات عبر HTTPS، ما يقلل من خطر سرقة الرموز المميزة، يجب على المواقع الإلكترونية إعادة النظر في سياساتها القصيرة الأمد لملفات تعريف الارتباط واعتماد جلسات أطول يسهُل الوصول إليها.

ومع ذلك، حتى إذا كنت تريد أن تستمر الجلسة لفترة أطول، فإن بعض المواقع الإلكترونية لا تتحقق من مصادقة المستخدم في كل طلب (بعبارة أخرى، ليست هناك طريقة لإبطال ملف تعريف ارتباط الجلسة بمجرد إصداره). يؤدي هذا عادةً إلى جلسات قصيرة، حيث يضطر المستخدم إلى تسجيل الدخول بشكل متكرر حتى يمكن إعادة التحقق من مصادقته، وهو ما يسمح بأمور مثل تغيير كلمة المرور، والتي تؤدي إلى إلغاء صلاحية الجلسات الحالية خلال فترة زمنية معروفة.

إذا كانت هذه الطريقة تستخدمها، فلدينا حلّ تقني قد يساعدك تلقائيًا في إعادة التحقّق من ملف تعريف ارتباط المصادقة بدون حالة. وهي تعمل عن طريق الحصول على رمز مميز ثانوي طويل الأجل يمكن استخدامه لتحديث ملف تعريف ارتباط المصادقة الحالي القصير الأجل. وتتيح لنا الاستفادة من نمط مشغّل الخدمات الجديد "تسجيل الوصول" بانتظام باستخدام الرمز المميّز الطويل الأجل، والتحقّق من عملية مصادقة المستخدم (على سبيل المثال، التحقّق ممّا إذا لم يغيِّر كلمات المرور مؤخرًا أو أبطل الجلسة بطريقة أخرى) وإعادة إصدار ملف تعريف ارتباط جديد قصير الأجل للمصادقة.

اقتراح عملي للانتقال إلى الجلسات الطويلة الآمنة على الويب

من هنا، تصف هذه المشاركة أسلوبًا جديدًا نقترح أنّه نطلق عليه 2-Cookie-Handoff (2CH). ونأمل أن نستفيد من هذه المقالة في الاستماع إلى ملاحظات المنتدى حول ما إذا كانت هذه الطريقة إيجابية، وإذا كان الأمر كذلك، للعمل مع هذا المجال على توثيق أفضل الممارسات لاستخدام 2CH.

عنصرو الخدمة هم تقنية جديدة تتوافق مع العديد من المتصفحات، مثل Chrome وFirefox وOpera، وستتوفّر قريبًا في Edge. وهي تتيح لك اعتراض جميع طلبات الشبكة من موقعك الإلكتروني من خلال نقطة رمز شائعة على العميل بدون تعديل الصفحات الحالية. ويتيح لك ذلك إعداد "عامل تشغيل 2CH" للمستخدمين الذين سجّلوا الدخول والذين يمكنهم اعتراض جميع طلبات الشبكة التي ترسلها صفحتك وتجري تبديل الرموز المميزة تمامًا كما تفعل تطبيقات الأجهزة الجوّالة.

في معظم الأوقات، يكون لدى الخادم نقطة نهاية تستخدمها تطبيقات الأجهزة الجوّالة للحصول على رمز مميز جديد قصير الأجل، وعادةً باستخدام بروتوكول OAuth. لتفعيل النمط أعلاه على الويب، تحتاج نقطة النهاية هذه فقط إلى التحديث لفهم وقت طلبها من قِبل عامل خدمة، ثم عرض ملف تعريف ارتباط جديد لجلسة قصيرة الأمد ومنسّق بطريقة تتوقعها الصفحات الأخرى على الموقع الإلكتروني.

إذا لم يكن الخادم يحتوي على نقطة النهاية هذه من قبل، يمكنه إنشاء نقطة نهاية مخصّصة لإدارة جلسات المتصفّح فقط.

تسلسل تسليم ملفات تعريف الارتباط 2

يتبع نمط الرمز المميّزَين مع عاملي الخدمة نمط OAuth 2.0 إلى حدّ كبير، وإذا كنت قد شغّلت نقطة نهاية رمز OAuth مميز، يمكنك على الأرجح إعادة استخدامه مع مشغّلي الخدمة لمصادقة الويب.

قد تتساءل أيضًا ماذا يحدث إذا زار المستخدم متصفّحًا لا يتوافق مع مشغّلي الخدمات. إذا قمت بتطبيق النهج أعلاه، فلن تلاحظ أي فرق وسيستمر في تجربة جلسات قصيرة.

لقد نشرنا نموذج عميل وخلفية. نأمل أن تجرّب هذه الميزة بنفسك وتجيب عن أسئلة استطلاع حول إدارة الجلسات.