Сброс и восстановление пароля для нескольких таблиц в Ларавел (Laravel)

Как оказалось, что документация Laravel об этом умалчивает или даёт очень поверхностное представление. Необходимость иметь разные таблицы sql для аутентификации например одну для пользователей администрации, а другую для посетителей сайта или веб приложения (api) довольно таки часто встречается. Сброс и восстановление пароля для этих таблиц в Laravel так же соответственно должен быть предусмотрен.
В этом руководстве будут рассмотрены методы для актуальных на сегодняшний день версий Laravel 8 - 9.
Столкнувшись с задачей по восстановлению пароля для нескольких таблиц в Ларавел (Laravel) нам пришлось потратить много времени на поиски и решения этой задачи, как правило советы которые мы находили были или сильно устаревшими или абсолютно неправильными. Даже в хорошо известной Laracasts на этот вопрос нам не дали разумного объяснения.
Если аутентификация для множества таблиц в Laravel решается с помощью Guard то для сброса и восстановления пароля нужен другой подход.
Но решение этой задачи существует и оно оказалось простым. Мы хотим поделиться ним с вами, что бы вы сэкономили своё время и силы.
Необходимая начальная подготовка файлов
Мы предполагаем что вы уже создали вторую таблицу на основе предлагаемой Laravel (users) в примере будет использоваться таблица с названием (admins).
Если вы не создали модель то это необходимо сделать например на основе существующей (User), важное замечание ваша модель должна включать в себя все пространства имён и трейты (User). В примере мы будем использовать имя для модели (Admin).
И отдельную таблицу для временного хранения (Token) например на основе password_resets, в примере используется название admin_resets.
Соответственно необходимо заполнить хотя бы одно поле таблицы (Admin) для работы с ним на этом начальная подготовка завершена.
Добавление guards, providers, passwords
Перейдите в файл по пути: config/auth.php
Найдите раздел (guards) и добавьте:

Перейдите в раздел (providers) и добавьте следующие записи:

Найдите раздел (passwords) здесь будут указаны таблицы для временного хранения (Token). Так же можно указать максимальное время после которого (Token) будет удалён, по умолчанию (expire = 60 ) - один час.

Определение маршрутов (routs) для сброса и восстановления пароля нескольких таблиц в Ларавел (Laravel).
Для простоты будет использоваться пример взятый из документации Laravel.
Необходимо добавить вызов метода (broker('admins')) в двух местах кода он выделен. В параметр "broker" добвить то имя которое определяли в "passwords" в файле (config/auth.php)





При вашем желании мы можем сделать эту и множество других работ по разработке сайтов и приложений на Ларавел (Laravel).