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

ابدأ من المطالبة التي يعرضها عميلك فعلاً

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

عُدّ الحقول التي أُعطيت لك فعلاً. حقل لاسم المستخدم مع حقل مقنّع واحد هو تسجيل دخول عادي بكلمة مرور دون أي تحدٍ. أما الحقل الثاني الذي يظهر بعد كلمة المرور وله تسمية خاصة به، فهو العميل الذي ينفّذ تفاعل التحدي.

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

ما يجب أن يدعمه الخادم مسبقاً

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

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

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

الحقل المشفّر الذي ترسله واجهة الإدارة

عندما تقود واجهة أمامية الاتصال عبر واجهة الإدارة، تُحزم كلمة المرور واستجابة التحدي في قيمة واحدة قبل الإرسال. وتوثّق مرجع واجهة الإدارة التنسيق: بادئة، ثم كلمة المرور والاستجابة كمكوّنين منفصلين بترميز Base64.

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

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

الثابت مقابل الدينامي: توقيت مختلف

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

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

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

اختبر النجاح والفشل، لا مربع الحوار وحده

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

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

مقالات ذات صلة