fix: login with username or email added.
This commit is contained in:
@@ -2,12 +2,14 @@
|
||||
|
||||
namespace App\Http\Requests\Auth;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Auth\Events\Lockout;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\RateLimiter;
|
||||
use Illuminate\Support\Str;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
|
||||
class LoginRequest extends FormRequest
|
||||
{
|
||||
@@ -27,7 +29,7 @@ class LoginRequest extends FormRequest
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'email' => ['required', 'string', 'email'],
|
||||
'login' => ['required', 'string'],
|
||||
'password' => ['required', 'string'],
|
||||
];
|
||||
}
|
||||
@@ -41,6 +43,8 @@ class LoginRequest extends FormRequest
|
||||
{
|
||||
$this->ensureIsNotRateLimited();
|
||||
|
||||
|
||||
/*
|
||||
if (! Auth::attempt($this->only('email', 'password'), $this->boolean('remember'))) {
|
||||
RateLimiter::hit($this->throttleKey());
|
||||
|
||||
@@ -48,7 +52,20 @@ class LoginRequest extends FormRequest
|
||||
'email' => trans('auth.failed'),
|
||||
]);
|
||||
}
|
||||
*/
|
||||
|
||||
$user = User::where('email', $this->login)
|
||||
->orWhere('name', $this->login)
|
||||
->first();
|
||||
|
||||
if (!$user || !Hash::check($this->password, $user->password)) {
|
||||
RateLimiter::hit($this->throttleKey());
|
||||
throw ValidationException::withMessages([
|
||||
'login' => __('auth.failed'),
|
||||
]);
|
||||
}
|
||||
|
||||
Auth::login($user, $this->boolean('remember'));
|
||||
RateLimiter::clear($this->throttleKey());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user