Замена Laravel UI на Laravel Fortify | OTUS
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
Python Developer. Professional
-3%
Разработчик на Spring Framework
-5%
iOS Developer. Professional
-8%
Golang Developer. Professional
-6%
Agile Project Manager
-5%
C# ASP.NET Core разработчик
-6%
Android Developer. Basic
-10%
React.js Developer
-4%
MS SQL Server Developer
-8%
Scala-разработчик
-8%
Java Developer. Basic
-8%
Разработчик IoT
-13%
PostgreSQL Backend-разработчик на PHP Алгоритмы и структуры данных Разработчик программных роботов (RPA) на базе UiPath и PIX Unity Game Developer. Basic Разработчик голосовых ассистентов и чат-ботов Vue.js разработчик VOIP инженер NoSQL Супер-практикум по использованию и настройке GIT Symfony Framework iOS Developer. Basic Супер-интенсив «СУБД в высоконагруженных системах» Супер-интенсив "Tarantool"
Инфраструктура
DevOps практики и инструменты
-12%
Network engineer. Basic
-10%
Network engineer
-4%
Экcпресс-курс «ELK»
-10%
Инфраструктурная платформа на основе Kubernetes
-6%
Экспресс-курс по управлению миграциями (DBVC)
-10%
Мониторинг и логирование: Zabbix, Prometheus, ELK Administrator Linux. Professional Разработчик IoT
-13%
Основы Windows Server Разработчик программных роботов (RPA) на базе UiPath и PIX Reverse-Engineering. Professional Внедрение и работа в DevSecOps Administrator Linux. Advanced Infrastructure as a code in Ansible Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Экспресс-курс «IaC Ansible»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Замена Laravel UI на Laravel Fortify

В этой статье вы узнаете, каким образом можно заменить функциональность устаревшего пакета laravel/ui на новый пакет Laravel Fortify.

Проблема с Jetstream заключается в том, что зачастую нам нужен просто каркас аутентификации без Livewire и Inertia.js. С одной стороны, работать с Inertia либо Livewire, в целом, неплохо, с другой — иногда нужна просто аутентификация. Конечно, laravel/ui мы всё ещё можем использовать в Laravel 8, однако хочется восстановить эту функциональность без данного пакета. В этой статье будут описаны шаги по достижению аналогичного функционала посредством Laravel Fortify.

Настраиваем проект:

1) laravel new laravel-fortify-demo 2) composer require laravel/fortify 3) php artisan vendor:publish --provider="Laravel\Fortify\FortifyServiceProvider" 4) настройка БД 5) php artisan migrate

Настраиваем Fortify

Открываем config/app.php и регистрируем сервис-провайдера Fortify:

App\Providers\FortifyServiceProvider::class,

Потом открываем config/fortify.php и обновляем свой массив features:

'features' => [
Features::registration(),
Features::resetPasswords(),
],

Далее надо рассказать Fortify, где конкретно располагаются наши шаблоны аутентификации.

Открываем app/Providers/FortifyServiceProvider.php и в метод boot добавляем:

1-1801-ce1086.png

Создаём шаблоны

Нам потребуются четыре blade-файла: • resources/views/auth/forgot-password.blade.php; • resources/views/auth/login.blade.php; • resources/views/auth/register.blade.php; • resources/views/auth/reset-password.blade.php.

Их можно «позаимствовать» из пакета laravel/ui, также вы можете взять их тут.

Защищаем страницы

Теперь следует защитить наши маршруты. Открываем routes/web.php и используем мидлвар auth:

2-1801-19322f.png

Итог

Итак, нам удалось воссоздать функционал базовой регистрации, логина и сброса пароля. При этом стоит отметить, что Fortify имеет интересную функцию проверки e-mail (если это вас интересует, изучите документацию пакета. Также вам может быть полезна ссылка на GitHub.

По материалам статьи «Using Laravel Fortify to restore laravel/ui functionality».

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться