Где реализуется работа с таблицей password_resets Laravel

120
21 апреля 2022, 01:20

Во встроенном контроллере для сброса пароля Auth\ResetPasswordController есть функция reset

public function reset(Request $request)
{
    $request->validate($this->rules(), $this->validationErrorMessages());
    // Here we will attempt to reset the user's password. If it is successful we
    // will update the password on an actual user model and persist it to the
    // database. Otherwise we will parse the error and return the response.
    $response = $this->broker()->reset(
        $this->credentials($request), function ($user, $password) {
            $this->resetPassword($user, $password);
        }
    );
    // If the password was successfully reset, we will redirect the user back to
    // the application's home authenticated view. If there is an error we can
    // redirect them back to where they came from with their error message.
    return $response == Password::PASSWORD_RESET
                ? $this->sendResetResponse($request, $response)
                : $this->sendResetFailedResponse($request, $response);
}

Хорошо, здесь идет работа с пользователем, его входящими данными. Однако я понять не могу, где идет работа с таблицей password_resets (встроенной)? Ведь после восстановления пароля там записи добавляются/удаляются. Я думаю (может неправильно), что это реализовано в методе broker(), однако я никак не могу найти его по иерархии trait'ов, интерфейсов и прочит классов.

Answer 1

Если не трудно, не могли бы вы рассказать в связи с чем возникло желание найти этот метод внутри фреймворка. Если у вас что-то не работает, то скорее всего дело в неправильном конфиге. Название таблицы users или модели User.php не меняли на свои?

Answer 2

В классе Illuminate\Auth\Passwords\PasswordBrokerManager, в 95 строке:

return new DatabaseTokenRepository(
    $this->app['db']->connection($connection),
    $this->app['hash'],
    $config['table'],
    $key,
    $config['expire']
);

Конфиг с данными находится в config/auth.php

READ ALSO
Как изменить html хука woocommerce?

Как изменить html хука woocommerce?

Нужно сделать так, чтобы в хлебных крошках разделитель был не "/", а "-"Вставил в свой html хук <?php woocommerce_breadcrumb() ?>

171
cron создает некорректные файлы логов

cron создает некорректные файлы логов

Система ubuntu 1804 linux nginx

101
laravel запрос аналогичный SQL

laravel запрос аналогичный SQL

Есть обычный SQL запрос:

162