خطأ في تسجيل الدخول

لقد رأينا هذا الخطأ من قبل، لقد أجريت بحثًا في نظام التذاكر الخاص بنا.

يحدث هذا عندما يكون لديك:

  • require activation مضبوط على true
  • مستخدم U1 على Discourse بعنوان بريد إلكتروني محدد، ربما بمعرف خارجي A.
  • مستخدم U2 على جانب مزود DiscourseConnect بنفس عنوان البريد الإلكتروني ومعرف خارجي مختلف (B)

يسجل المستخدم الدخول، ويتحقق Discourse مما إذا كان هناك مستخدم بمعرف خارجي B، فإنه لا يوجد.
عادةً ما يقوم Discourse بإجراء مطابقة على البريد الإلكتروني كخطوة تالية ولكن نظرًا لأن require activation مضبوط، فإن عنوان البريد الإلكتروني غير موثوق به ويتخطى هذه الخطوة ولن يرتبط بالمستخدم U1 لأنه سيسمح بـ اختطاف الحساب.
لذلك يقرر Discourse إنشاء مستخدم جديد. يفشل هذا لأن المستخدم U1 موجود بالفعل بنفس عنوان البريد الإلكتروني.

سيكون من الجيد وجود خطأ أفضل في حالة وجود البريد الإلكتروني ولكن البريد الإلكتروني غير موثوق به. لست متأكدًا أيضًا من سبب ظهوره كخطأ Rails عام.

الحلول:

  • إذا كانت عناوين البريد الإلكتروني الخاصة بك على جانب مزود DiscourseConnect موثقة ويمكن الوثوق بها، فاضبط require activation على false.
    أو
  • قم بتغيير المعرف الخارجي للمستخدم U1 إلى B
    أو
  • قم بتغيير عنوان البريد الإلكتروني للمستخدم U1 إلى شيء آخر

إضافة النص “تم رفض التغيير الذي طلبته” حتى يتم العثور على هذا الموضوع عندما يبحث شخص ما عن هذا الخطأ.

7 إعجابات