route('setup.index'); } $credentials = $request->validate([ 'email' => ['required', 'email'], 'password' => ['required', 'string', 'min:6'], 'remember' => ['nullable', 'boolean'], ]); $throttleKey = Str::transliterate(Str::lower($credentials['email']) . '|' . $request->ip()); if (RateLimiter::tooManyAttempts($throttleKey, 5)) { $seconds = RateLimiter::availableIn($throttleKey); return back() ->withErrors(['email' => "Troppi tentativi. Riprova tra {$seconds} secondi."]) ->withInput($request->only('email', 'remember')); } if (! Auth::attempt([ 'email' => $credentials['email'], 'password' => $credentials['password'], ], $request->boolean('remember'))) { RateLimiter::hit($throttleKey); return back() ->withErrors(['email' => 'Credenziali non valide.']) ->withInput($request->only('email', 'remember')); } RateLimiter::clear($throttleKey); $request->session()->regenerate(); activity()->causedBy(auth()->user())->log('login'); return redirect()->intended(route('dashboard')); } }