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

"وليام دنيس"
أوين كامبل-مور

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

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

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

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

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

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

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

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

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

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

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

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

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