دع الزوار يفعّلون تسجيل الدخول بخطوتين
الهدف
دع من يسجّل الدخول إلى بوابتك يفعّل تسجيل الدخول بخطوتين: تطبيق مصادقة على هاتفه يُطلب منه رمز مكوّن من ستة أرقام في كل مرة يسجّل فيها الدخول.
قبل أن تبدأ
- بوابة تطلب من الزوار تسجيل الدخول. انظر اطلب من الزوار تسجيل الدخول.
الأمر كله زرّ واحد
ارسم زرّاً على أي شاشة من بوابتك وأعطه هذا المعالج:
openAccountSecurity();
هذا كل شيء. تفتح المنصّة لوحتها الخاصة فوق صفحتك، فيمسح الزائر الرمز ويكتب الأرقام الستة ويحفظ رموز الاسترداد دون أن ترسم أنت شيئاً من ذلك.
أو ارسمها بنفسك
إن أردت أن تشبه الصفحة بقية موقعك، ارسم شاشة خاصة بك — خلف تسجيل الدخول، لأنها تخص حساب الزائر — وأعطها هذه الاستدعاءات بهذا الترتيب:
| متى | الاستدعاء |
|---|---|
| عند تحميل الشاشة | loadAccountSecurity("mfa") — يقول state.mfa.enabled إن كانت مفعّلة |
| عند الضغط على فعّلها | startAuthenticator("enrol") |
| عند الضغط على تحقّق من الرمز | verifyAuthenticator(getState("code"), "codes") |
| عند الضغط على حفظتها | completeAuthenticator("done") |
| عند الضغط على أوقفها | disableAuthenticator(getState("offCode")) |
- رمز QR هو
state.enrol.qrCode— أضف صورة واربط مصدرها به. وضعstate.enrol.sharedKeyبجانبه لمن لا تقرأ كاميرته الرمز. - رموز الاسترداد تصل إلى
state.codesكقائمة؛ كرّر سطرًا عليها يعرضrow.code. - لا يُفعَّل تسجيل الدخول بخطوتين حتى
completeAuthenticator. التحقق من الرمز يثبت فقط أن التطبيق يعمل. لذلك ارسم الرموز مع جملة تطلب من الزائر حفظها الآن — لن تُعرض مرة أخرى — وزرًّا يقول إنه حفظها. وإن نسيت صفحتك هذه الخطوة، فسيبقى العامل الثاني متوقفًا ببساطة، لا مفعّلًا برموز لم يرها أحد.
يُرسم رمز QR في متصفح الزائر نفسه؛ ولا يُرسل أبدًا إلى أي مكان ليُحوَّل إلى صورة، لأنه يحمل السرّ الذي سيستخدمه تطبيقه.
في النموذج portal-landing-page هذه هي شاشة Sign-in security.
ماذا يرى الزائر
تقول اللوحة أين يقف حسابه، وتعرض الشيء الوحيد المتاح:
| حسابه | ماذا تعرض اللوحة |
|---|---|
| تسجيل الدخول بخطوتين متوقف | تفعيل تسجيل الدخول بخطوتين — امسح، أثبت، احفظ الرموز |
| تسجيل الدخول بخطوتين مفعّل | كم رمز استرداد بقي، وصندوق لإيقافه برمز حالي |
الترتيب: امسح ← أثبت ← اكتب الرموز، ولا يُفعَّل العامل الثاني حتى تُقرّ الرموز. من يغلق التبويب في منتصف الطريق لا يكون قد غيّر شيئاً في حسابه، وهذا هو سبب تقسيمها إلى ثلاث خطوات بدل واحدة.
الإيقاف يحتاج رمزاً
يستطيع الزائر إيقاف تسجيل الدخول بخطوتين — الحساب حسابه — لكن بكتابة رمز حالي أو أحد رموز الاسترداد. وهذا مقصود: إيقاف العامل الثاني هو بالضبط ما يفعله من سرق جلسة.
من يسجّلون الدخول إلى واجهة بارسوير ومركز التحكم الإداري يجب أن يملكوا عاملاً ثانياً، ويُعرض عليهم نقله إلى هاتف جديد بدلاً من إيقافه. ذلك قرار يخصّ السطح الذي يحتفظ بسجلات كل العملاء؛ ولسنا من يتّخذه نيابةً عن عملائك.
ماذا يحدث في تسجيل الدخول التالي
لا شيء عليك رسمه. يطلب نموذج تسجيل الدخول الخاص بالمنصّة الرمز بنفسه، إلى جانب العنوان وكلمة المرور، ويقبل رمز استرداد في الصندوق نفسه — فرمز الاسترداد ليس من ستة أرقام، وبذلك تعرف المنصّة أيّهما أُعطي لها.
إن كنت قد رسمت صفح ة تسجيل الدخول بنفسك، فهي تحتاج إلى صندوق رمز
يظهر حين يقول signIn إن الحساب يطلب رمزًا — وتلك الصفحة تبيّن كيف.
ما الذي لا تفعله
- لا تنقل تطبيق المصادقة إلى هاتف جديد بخطوة واحدة. من فقد هاتفه يوقف العامل برمز استرداد ثم يفعّله من جديد؛ خطوة إضافية واحدة ودون فقدان شيء.
- لا تُجبر أحداً. تسجيل الدخول بخطوتين يُعرض على زوارك ولا يُطلب منهم أبداً. وإن كانت بوابتك تحتاج إلى فرضه، فذلك حديث معنا لا شاشة ترسمها.
- لا تفعل شيئاً على بوابة يفتحها أي أحد. لا يوجد حساب ينتمي إليه عامل ثانٍ، فيبلّغ الزر بذلك بدل أن يبدو وكأنه يعمل.
جرّبها
يحتوي الحل النموذجي portal-sign-in-and-accounts على ذلك في شاشة
اسمها أمان تسجيل الدخول، ومعها صفحة كيف يعمل هذا النموذج تمشي بك خطوة خطوة.