تخميناتنا أدناه
قيمة _forum_session في تخزين الجلسة (Session storage) تتغير باستمرار عند النقر على اللوحة
لذلك، مفتاح الجلسة السابق ومفتاح الجلسة الجديد الذي تم إنشاؤه لا يتطابقان في بعض الأحيان.
كيف يمكن إدارة قيمة _forum_session؟ أو كيف يمكن التحكم في تسلسل إنشاء _forum_session؟
الإصدار: 3.5.0.beta1
نوع النشر: مستضاف ذاتيًا
نوع تسجيل الدخول: Discourse SSO Connect
مرحبًا بالجميع،
أقوم حاليًا بتشغيل نسخة Discourse مستضافة ذاتيًا داخل البنية التحتية الخاصة بنا.
كل شيء يعمل بشكل جيد حتى نقطة تسجيل الدخول عبر طريقة Discourse SSO Connect (نحن نستخدم خادم حسابنا المخصص للمصادقة).
ومع ذلك، نواجه مشكلة حيث يظهر مربع حوار “تم تسجيل خروجك” بشكل عشوائي أثناء عملية البحث.
يحدث هذا فقط في بيئة الإنتاج - وليس في بيئة التطوير أو الاختبار.
لم نقم بتعديل أي من كود المصدر المفتوح لـ Discourse.
يفترض أن ملف تعريف الارتباط _forum_session يجب تحديثه مع كل استدعاء لواجهة برمجة التطبيقات (API)، ولكن لسبب ما، يفشل هذا التحديث في بيئة الإنتاج. نتيجة لذلك، يصبح ملف تعريف الارتباط الحالي للجلسة غير صالح ويؤدي إلى تسجيل الخروج.
إذا واجه أي شخص مشكلة مماثلة أو لديه رؤى حول ما يحدث، فسأكون ممتنًا جدًا لمساعدتك.
أود أن أفهم في أي حالات قد يفشل تحديث forum_session. على حد علمي، يتم تحديثه في كل مرة أدخل فيها صفحة عبر ترويسة Set-Cookie في الاستجابة. لم نقم بتغيير أي منطق متعلق بذلك، لذا لست متأكداً لماذا لا يتم تحديثه أحياناً.
الأمر غريب بعض الشيء - نحن نشغل ثلاثة بيئات بنفس الإصدار (3.5.0.beta1)، ولكن هذه المشكلة تحدث فقط في بيئة الإنتاج. البيئتان الأخريان (التطوير والمرحلة التجريبية) تعملان بشكل جيد، لذلك لا أعتقد أن الأمر يتعلق بالإصدار.
أتساءل، هل هذه هي المرة الأولى التي يتم فيها الإبلاغ عن هذه المشكلة؟ هل كانت هناك أي تقارير مماثلة في الماضي؟