فرض المصادقة متعددة العوامل دون مساعدة

بدأت مؤخرًا في فرض المصادقة متعددة العوامل (MFA) على جميع المستخدمين في منتداي، وأُخبرت أن العديد من المستخدمين لن يتمكنوا من رؤية الموضوع الذي يقدم نصائح حول كيفية استخدام المصادقة متعددة العوامل (كثير من المستخدمين ليسوا على دراية تقنية).

في حين أن المقال متاح للمستخدمين المجهولين، فإن المستخدم الذي سجل دخوله لكنه لم يسجل في المصادقة متعددة العوامل لا يستطيع رؤية أي جزء من الموقع. فيُعلقون على تفضيلات أمان المستخدم مع هذه الرسالة:

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

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


كملاحظة جانبية، فإن مفاتيح المرور (Passkeys) هي أيضًا نوع من المصادقة متعددة العوامل، وينبغي حل هذه المسألة.

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

يمكنك فعل ذلك إذا قمت بتخصيص نص الموقع عبر /admin/customize/site_texts?q=required%20to%20enable:

إعجابَين (2)

تحرير نص الموقع كما هو مذكور أعلاه هو أبسط طريقة لتقديم بعض التعليمات، لكنك مقيد بالنص فقط في هذا السياق.

إذا كنت ترغب في إضافة بعض HTML (روابط، صور، إلخ)، فيمكنك إنشاء مكون سمة جديد من منطقة الإدارة الخاصة بالسّمات والمكونات.

من علامة التبويب المكونات (admin/config/customize/components)، يمكنك النقر فوق “تثبيت”، ثم “إنشاء جديد”، ومنحها اسمًا واضحًا… وبمجرد إنشاء المكون، انقر فوق “تحرير الكود”.

من هناك، انتقل إلى علامة التبويب JS وأضف شيئًا مثل هذا:

  import { apiInitializer } from "discourse/lib/api";

  const CustomMessage = <template>
    <div class="custom-2fa-message">
       محتوى مخصصك هنا فوق المحتوى الحالي. 
       <a href="#">رابط مثال</a>
    </div>
  </template>;

  export default apiInitializer("1.0", (api) => {
    api.renderBeforeWrapperOutlet("user-second-factor-wrapper", CustomMessage);
  });

:backhand_index_pointing_up: بهذه الطريقة يمكنك إضافة روابط أو أي محتوى HTML تريده

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

من قسم “ما لم تطلبه”، ربما تمنح المستخدمين أسبوعًا أو شهرًا لتفعيل المصادقة الثنائية وتذكيرهم باستمرار حتى يفعلوها. نعم، يحتوي current_user على حقل second_factor_enabled، لذا يمكنك عرض لافتة كبيرة بعنوان “النهاية قريبة” للمستخدمين الذين لم يتمكنوا من التفعيل بعد، مع تضمين رابط إلى الإرشادات.