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

William Denniss

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

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

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

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

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

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

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

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

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

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

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

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

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