umutcankarce Session auth kullandığınız için bu işi session içinde çözebilirsiniz:
- Kullanıcı 2fa kodunu doğru girince session(['2fa_verified' => true]); gibi bir oturum değişkeni oluşturun.
- Middleware içinde kodu ya da zaman aşımını değil 2fa_verified adında ve değeri true olan bir oturum değişkeni var mı onu kontrol edin.
Controller sınıflarını servis sınıfı gibi kullanmayın, onların amacı belli.
Login ve logout işlemlerini de yanlış yapıyorsunuz, dokümanlara bakın: https://laravel.com/docs/11.x/authentication
Ayrıca, ben olsam kodları ayrı bir tabloda tutardım ama siz bilirsiniz.