group(function () { Route::get('login', [LoginController::class, 'create'])->name('login'); Route::post('login', [LoginController::class, 'store'])->middleware('throttle:5,1'); Route::get('register', [RegisterController::class, 'create'])->name('register'); Route::post('register', [RegisterController::class, 'store'])->middleware('throttle:3,60'); Route::get('forgot-password', [ForgotPasswordController::class, 'create'])->name('password.request'); Route::post('forgot-password', [ForgotPasswordController::class, 'store'])->name('password.email')->middleware('throttle:3,15'); Route::get('reset-password/{token}', [ResetPasswordController::class, 'create'])->name('password.reset'); Route::post('reset-password', [ResetPasswordController::class, 'store'])->name('password.store')->middleware('throttle:5,15'); // Socialite routes Route::get('auth/{provider}', [SocialiteController::class, 'redirect'])->name('socialite.redirect'); Route::get('auth/{provider}/callback', [SocialiteController::class, 'callback'])->name('socialite.callback')->middleware('throttle:10,1'); // Complete profile after social login (when username is taken) Route::get('complete-profile', [CompleteProfileController::class, 'create'])->name('auth.complete-profile'); Route::post('complete-profile', [CompleteProfileController::class, 'store']); }); Route::middleware('auth')->group(function () { Route::post('logout', [LoginController::class, 'destroy'])->name('logout'); // Email verification routes Route::get('email/verify', [EmailVerificationController::class, 'notice'])->name('verification.notice'); Route::get('email/verify/{id}/{hash}', [EmailVerificationController::class, 'verify'])->middleware('signed')->name('verification.verify'); Route::post('email/verification-notification', [EmailVerificationController::class, 'resend'])->middleware('throttle:6,1')->name('verification.send'); });