22
33namespace App \Http \Controllers \Auth ;
44
5+ use App \Actions \TwoFactorAuth \CompleteTwoFactorAuthentication ;
6+ use App \Actions \TwoFactorAuth \ProcessRecoveryCode ;
57use App \Http \Controllers \Controller ;
68use App \Models \User ;
79use Illuminate \Http \Request ;
@@ -51,9 +53,7 @@ public function store(Request $request)
5153 $ secret = decrypt ($ user ->two_factor_secret );
5254 $ valid = app (\App \Actions \TwoFactorAuth \VerifyTwoFactorCode::class)($ secret , $ request ->code );
5355 if ($ valid ) {
54- Auth::login ($ user , $ request ->session ()->get ('login.remember ' , false ));
55- $ request ->session ()->regenerate ();
56- $ request ->session ()->forget (['login.id ' , 'login.remember ' ]);
56+ app (CompleteTwoFactorAuthentication::class)($ user );
5757 return redirect ()->intended (route ('dashboard ' , absolute: false ));
5858 }
5959 return back ()->withErrors (['code ' => __ ('The provided two factor authentication code was invalid. ' )]);
@@ -70,27 +70,20 @@ public function store(Request $request)
7070 return back ()->withErrors (['recovery_code ' => __ ('The provided two factor authentication recovery code was invalid. ' )]);
7171 }
7272 // Remove used recovery code using the ProcessRecoveryCode action
73- $ updatedCodes = app (\ App \ Actions \ TwoFactorAuth \ ProcessRecoveryCode::class)($ recoveryCodes , $ match );
73+ $ updatedCodes = app (ProcessRecoveryCode::class)($ recoveryCodes , $ match );
7474 if ($ updatedCodes === false ) {
7575 return back ()->withErrors (['recovery_code ' => __ ('The provided two factor authentication recovery code was invalid. ' )]);
7676 }
7777 $ user ->two_factor_recovery_codes = encrypt (json_encode ($ updatedCodes ));
7878 $ user ->save ();
79- return $ this ->completeLogin ($ request , $ user );
79+ // Complete the authentication process
80+ app (CompleteTwoFactorAuthentication::class)($ user );
81+
82+ // Redirect to the intended page
83+ return redirect ()->intended (route ('dashboard ' , absolute: false ));
8084 }
8185
8286 return back ()->withErrors (['code ' => __ ('Please provide a valid two factor authentication code. ' )]);
8387 }
84-
85- /**
86- * Complete login and session management after successful 2FA.
87- */
88- private function completeLogin (Request $ request , $ user )
89- {
90- Auth::login ($ user , $ request ->session ()->get ('login.remember ' , false ));
91- $ request ->session ()->regenerate ();
92- $ request ->session ()->forget (['login.id ' , 'login.remember ' ]);
93- return redirect ()->intended (route ('dashboard ' , absolute: false ));
94- }
9588}
9689
0 commit comments