5use Illuminate\Auth\Events\Lockout;
6use Illuminate\Foundation\Http\FormRequest;
7use Illuminate\Support\Facades\Auth;
8use Illuminate\Support\Facades\RateLimiter;
9use Illuminate\Support\Str;
10use Illuminate\Validation\ValidationException;
30 'email' => [
'required',
'string',
'email'],
31 'password' => [
'required',
'string'],
44 if (! Auth::attempt($this->only(
'email',
'password'), $this->
boolean(
'remember'))) {
47 throw ValidationException::withMessages([
48 'email' => trans(
'auth.failed'),
62 if (! RateLimiter::tooManyAttempts($this->
throttleKey(), 5)) {
66 event(
new Lockout($this));
68 $seconds = RateLimiter::availableIn($this->
throttleKey());
70 throw ValidationException::withMessages([
71 'email' => trans(
'auth.throttle', [
72 'seconds' => $seconds,
73 'minutes' => ceil($seconds / 60),
83 return Str::transliterate(Str::lower($this->
string(
'email')).
'|'.$this->ip());
rules()
Get the validation rules that apply to the request.
ensureIsNotRateLimited()
Ensure the login request is not rate limited.
authenticate()
Attempt to authenticate the request's credentials.
authorize()
Determine if the user is authorized to make this request.
throttleKey()
Get the rate limiting throttle key for the request.