configureRateLimiting(); $this->routes(function () { Route::middleware('api') ->prefix('api/v1') ->group(base_path('routes/api-v1.php')); Route::middleware('web') ->group(base_path('routes/web.php')); }); } /** * Configure the rate limiters for the application. */ protected function configureRateLimiting(): void { RateLimiter::for('api', function (Request $request) { return Limit::perMinute(60)->by($request->user()?->id ?: $request->getClientIp()); }); RateLimiter::for('login', function (Request $request) { return [ Limit::perHour(config('rate_limiting.login_max_request', 50))->by($request->getClientIp()), Limit::perHour(config('rate_limiting.login_max_email_request', 10))->by($request->getClientIp() . '-' . $request->input('email')), ]; }); } }