أوه، لقد فقدت هاتفي. كيف يمكنني الآن الحصول على رمز التحقق لمرة واحدة (OTP)؟

اليوم راجعته مرة أخرى ووجدت أن:

[25] pry(main)> how.totp_enabled?
=> false
[26] pry(main)> how.backup_codes_enabled?
=> true
[27] pry(main)> how.totp_or_backup_codes_enabled?
=> true

لذا حاولت إزالة رموز النسخ الاحتياطي أيضًا، بناءً على الرد السابق من @falco:

UserSecondFactor.backup_codes.where(user_id: id).each(&:destroy!)

الآن إليك الحل الكامل لتعطيل OTP لمستخدم فقد طرق الدخول: يجب عليك إزالة كل من إدخالات totps ورموز backup_codes أيضًا، حتى تعود استدعاء #totp_or_backup_codes_enabled? بقيمة false.