Довольно необычная проблема, которую приходится наблюдать в пакетной авторизации Laravel Breeze. Зарегистрированные пользователи успешно авторизуются и все работает. Но по прошествии какого-то количества времени авторизация перестает работать сама собой и зарегистрированный пользователь не может авторизоваться на сайте даже если вводит верные логин и пароль. Помогает только смена пароля. Но после смены пароля через некоторое время проблема опять возникает. Таким образом приходится принудительно каждый месяц менять пароль. С точки зрения безопасности это может и хорошо, но с точки зрения удобства абсолютно ужасно. Эта проблема ярко выражена на хостинге Timeweb. На других хостингах не проверялось.
Точные причины проблемы разбирать и понимать времени не было. Глубоко копаться не стал. Поверхностно покопав, выяснил что проблема связана с опцией remember_token (галочка "Запомнить пароль" на странице авторизации) и соответствующим столбцом в таблице users базы данных сайта.
Для временного решения устранения проблемы можно отключить передачу remember_token из формы авторизации.
Для этого необходимо открыть файл LoginRequest и закомментировать или удалить передачу remember_token переменной в Auth::attempt. Выглядеть в итоге это будет так:
//файл /app/Http/Requests/Auth/LoginRequest.php if (! Auth::attempt([ 'email' => $credentials['email'], 'password' => $credentials['password'], 'is_active' => 1, //remember_token makes unknown problems with auth if uncommented /*'remember_token' => $this->filled('remember')*/ ])) { RateLimiter::hit($this->throttleKey()); throw ValidationException::withMessages([ 'email' => __('auth.failed'), ]); }
Возможно, не самое лучшее решение, но на временное потянет.