Laravel Fortify هي حزمة مصادقة للواجهة الخلفية لـ Laravel تدعم المصادقة ثنائية العوامل (2FA) عبر كلمات المرور لمرة واحدة على أساس الوقت (TOTP). إنه مرن وعلاج غير مؤلف من استخدام مستخدمي تطبيق TOTP Client ، مما يعني أنه لا يربطك بالتحديد إلى Google Authenticator ويمكنه العمل مع أي تطبيق مصادقة على أساس TOTP ، بما في ذلك Authy.
ما يفعله Laravel Fortify لـ 2FA
يوفر Laravel Fortify منطق الواجهة الخلفية لإنشاء مفاتيح 2FA السرية ، وتخزينها بشكل آمن ، وإنشاء رموز الاسترداد ، والتحقق من رموز TOTP أثناء تسجيل الدخول. يستخدم المفتاح السري للمستخدم للمستخدم للتحقق من كلمة المرور لمرة واحدة تم إنشاؤها بواسطة أي تطبيق مصادقة يدعم خوارزمية TOTP القياسية (RFC 6238). لا يفرض Fortify نفسه أو يقيد تطبيق الهاتف المحمول أو سطح المكتب الذي يجب على المستخدم استخدامه.
استخدام Authy بدلاً من Google Authenticator
Authy و Google Authenticator كلاهما تطبيقات مصادقة تستند إلى TOTP. كلاهما ينشئ رموز مكونة من 6 أرقام كل 30 ثانية بناءً على مفتاح سري مشترك أثناء الإعداد (عادةً عن طريق مسح رمز الاستجابة السريعة). يعمل Laravel Fortify بسلاسة مع أي تطبيق عميل يدعم هذا المعيار. لذلك ، يمكنك استخدام Authy تمامًا بدلاً من Google Authenticator مع Laravel Fortify.
النقاط الرئيسية حول Authy و Google Authenticator في هذا السياق:
- التوافق: يستخدم Authy نفس معيار TOTP مثل Google Authenticator ، لذلك سيعمل أي إعداد 2FA في Laravel Fortify مع أي من التطبيقات دون أي تغيير في الواجهة الخلفية الخاصة بك.
-تجربة المستخدم: تقدم Authy بعض المزايا على Google Authenticator ، مثل مزامنة الرموز عبر الأجهزة (دعم متعدد الأجهزة) ، والنسخ الاحتياطية السحابية المشفرة ، وتطبيقات سطح المكتب (تاريخياً ، تركز حاليًا على الهاتف المحمول) ، والتي يمكن أن تخلق تجربة مستخدم أفضل.
- الأمان: لدى Authy خيارات لحماية الدبوس والأمان البيومتري على التطبيق ، والنسخ الاحتياطية المشفرة ، في حين أن Google Authenticator يفتقر إلى النسخ الاحتياطية السحابية المشفرة ومزامنة متعددة الأجهزة. قد تجعل هذه الميزات أكثر سهولة في الاستخدام ومرونة مقابل فقدان الجهاز من منظور المستخدم.
- الإعداد في Laravel Fatify: التغيير الوحيد في تطبيق Laravel Forify هو توفير رمز الاستجابة السريعة أو المفتاح السري للمستخدم للمسح الضوئي في Authy بدلاً من Google Authenticator. نظرًا لأن كلا التطبيقين يقرأان نفس التنسيق ، فإن رمز QR Fortify ينشئ أعمالًا خارج المربع مع أي من التطبيقات.
اعتبارات التنفيذ
1. يمكن مسح رمز الاستجابة السريعة هذا بواسطة تطبيقات Authy أو Google Authenticator. تحتاج الواجهة الأمامية إلى تقديم رمز الاستجابة السريعة هذا ، ويمكن للمستخدم اختيار تطبيقه المفضل. لا توجد تغييرات رمز الخلفية المطلوبة.
2. خطوة التأكيد: إحدى المشكلات التي تمت مواجهتها أحيانًا مع Laravel Forify هي أن تمكين 2FA دون تأكيد الرمز الذي تم إدخاله قد يغلق المستخدمين إذا لم يكملوا الإعداد بشكل صحيح. يعد تطبيق خطوة تأكيد حيث يدخل المستخدم رمزًا تم إنشاؤه بواسطة Authy (أو Google Authenticator) بعد مسح رمز الاستجابة السريعة هو أفضل الممارسات. هذا ينطبق بغض النظر عن تطبيق المصادقة المستخدم.
3. رموز الاسترداد: يوفر Fortify رموز الاسترداد لتجاوز 2FA إذا فقد المستخدم الوصول إلى تطبيق المصادقة. تعمل هذه الرموز بشكل مستقل من اختيار التطبيق (Authy أو Google Authenticator).
ملخص الاختلافات من منظور المستخدم
- مزايا المصادقة: **
- الدعم متعدد الأجهزة والمزامنة التلقائية لرموز 2FA.
- النسخ الاحتياطية السحابية المشفرة لتجنب فقدان الرموز على فقدان الجهاز.
- PIN الاختياري والأمان البيومترية للتطبيق.
- دعم تطبيق سطح المكتب ومستعرض (على الرغم من توقف بعض تطبيقات سطح المكتب اعتبارًا من أوائل عام 2024).
- المصادقة القائمة على الدفع (على الرغم من أنها ليست TOTP قياسية ، أكثر صلة بالتطبيقات الأخرى).
- مزايا مصادقة Google: **
- معروف على نطاق واسع ودعم العديد من الخدمات.
- تطبيق أبسط ، بنية تحتية أقل تعقيدًا (لا توجد حسابات ، لا نسخ احتياطية).
- غير متصل تمامًا بعد الإعداد الأولي (لا توجد نسخ احتياطية سحابية).
من وجهة نظر تكامل لارافيل ، لا توجد هذه الاختلافات لأن رموز TOTP من أي من التطبيقات يتم التحقق من صحتها بنفس الطريقة عن طريق الحصن.
ملاحظات إضافية حول الاستخدام المحصنة
لا يوفر Laravel Fortify وجهات نظر الواجهة الأمامية أو واجهة المستخدم ؛ ويوفر خدمات الواجهة الخلفية للمصادقة. يستخدم العديد من المطورين تحصين مع Laravel JetStream أو غيرها من مجموعات واجهة المستخدم. بغض النظر عن واجهة المستخدم ، فإن المفتاح هو أن Fortify يولد سر 2FA ويؤدي التحقق من صحة الرموز ، مما يترك اختيار تطبيق Authenticator للمستخدم.
إذا كانت هناك حاجة إلى التخصيص لتحسين عملية استرداد UX أو معالجة الحساب بشكل أفضل (إضافة علامة "two_factor_confered" ، تخصيص طرق العرض ، إلخ) ، يمكن تنفيذها في الطبقة المحصنة ولكنها مستقلة عن الاختيار بين Authy و Google Authenticator.
خاتمة
نعم ، يمكنك استخدام Authy بدلاً من Google Authenticator في Laravel Frantify دون أي تغيير مطلوب لتنفيذ الواجهة الخلفية 2FA الخاصة بك. يستخدم كلا التطبيقات نفس معيار TOTP مدعوم بالكامل بواسطة Fortify. يمكن أن يوفر اختيار Authy قابلية الاستخدام والنسخ الاحتياطي المحسّن للمستخدمين ، وخاصة في سيناريوهات فقدان الجهاز أو الوصول متعدد الأجهزة ، ولكن من وجهة نظر مطور Laravel ، يظل التكامل كما هو. يقوم المستخدمون ببساطة بمسح رمز الاستجابة السريعة التي توفرها Fortify مع تطبيقهم المفضل لإعداد 2FA.
هذه المرونة هي حسب التصميم ، مما يتيح لارافيل تحصين للعمل مع أي تطبيق يولد رموز TOTP قياسية ، بما في ذلك على سبيل المثال لا الحصر مصادقة Google و Authy و Microsoft Authenticator وغيرها.