لا يمكن تعطيل المصادقة الثنائية للمستخدم

لدينا مستخدم مفعّل عليه المصادقة الثنائية (2FA)، ولا يمكننا تعطيلها له.

عند النقر على زر “تعطيل” في حسابه، تظهر لنا الرسالة التالية:


(لقد زوّدتنا بمعاملات غير صالحة للطلب: Discourse::InvalidParameters)

لا توجد صف في جدول users_second_factors يحمل معرف المستخدم (user_id). لقد حاولت إضافة صف وهمي، مما سمح لي بالنقر على زر “تعطيل” دون ظهور خطأ، لكنه يمسح صفّي الوهمي فقط ويترك المصادقة الثنائية (2FA) مفعّلة للمستخدم.

كما جربت مهمة rake users:disable_2fa[username]، التي تُرجع الرسالة تم تعطيل المصادقة الثنائية للمستخدم، لكن الملف الشخصي للمستخدم في لوحة الإدارة ما زال يُظهر المصادقة الثنائية: نعم.

هل هناك أي شيء آخر يمكنني تجربته؟

جرب عبر وحدة تحكم Rails:

3 إعجابات

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

3 إعجابات

شكرًا لك @omarfilip .. قمت بحذف UserSecondFactor لكنني لم أكن أعرف عن UserSecurityKey.

لم يكن لدى هذا المستخدم سجل UserSecondFactor، لكنه كان لديه سجل UserSecurityKey.

بمجرد إزالته، يظهر ملفه الشخصي ‘المصادقة الثنائية: لا’ – شكرًا لك!

@jomaxro نحن نستخدم الإصدار 2.5.0.beta4 ( 8d3900c6da )

يبدو أن هناك مشكلة لا يزال بإمكانني فيها القيام بذلك عبر واجهة المستخدم، لكنني أحصل على مشكلة المعلمات غير الصالحة، ربما بسبب عدم وجود سجل UserSecondFactor؟

هذا الإصدار قديم وغير مدعوم، قم بالتحديث في أقرب وقت ممكن.

إعجابَين (2)

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

إعجاب واحد (1)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.