Как стать автором
Обновить

Laravel Jetstream — новый скаффолдинг для фреймворка

Время на прочтение2 мин
Количество просмотров16K
Релиз Laravel 8 принес с собой новый каркас, позволяющий быстро развернуть систему аутентификации пользователей, которая включает в себя логин, регистрацию, подтверждение по электронной почте, двухфакторную аутентификацию, управление сессиями и командами. Также Jetstream имеет встроенную интеграцию с Laravel Sanctum для аутентификации через API на основе токенов.

image

Выбираем стек


Laravel Jetstream поставляется с двумя стеками для фронтенда — Livewire и Inertia.js. Оба стека добавляют реактивности в ваше приложение, разница между ними в том, что Livewire в качестве шаблонизатора использует Blade, а Inertia.js использует Vue. В качестве CSS-фреймворка в обоих случаях используется Tailwind.

Установка


Если мы создаем новый проект, то можем использовать Laravel Installer с флагом --jet. Установка будет интерактивной и предложит выбрать стек и управление командами (teams). После установки требуется выполнить миграции в базу данных:
laravel new project-name --jet
php artisan migrate

В готовый проект следует добавить пакет с помощью Composer:
composer require laravel/jetstream

Далее в зависимости от выбранного стека выбираем одно из двух. Если управление командами не требуется, то флаг --teams нужно убрать.

Livewire:
php artisan jetstream:install livewire --teams

Inertia.js:
php artisan jetstream:install inertia --teams

Завершаем установку установкой NPM-пакетов и миграцией базы:
npm install && npm run dev
php artisan migrate

Профиль пользователя


Laravel Jetstream позволяет пользователю заходить в свой профиль, обновлять информацию о себе и даже загружать фото. Отключить возможность установки фотографий можно в config/jetstream.php
image

Двухфакторная аутентификация


После включении двухфакторной аутентификации пользователь должен сохранить коды восстановления, а также отсканировать полученный QR-код с помощью приложения с поддержкой One-Time Password — динамического пароля. Это может быть, например, Google Authenticator или 1Password.
image

API


Jetstream интегрирован с Sanctum и позволяет пользователю генерировать токены доступа с различными правами: создание, чтение, обновление и удаление. Отключить эту возможность можно в config/jetstream.php
image

Команды


Если вы установили Jetstream с опцией teams, то получите интерфейс для управления командами. Каждый пользователь может состоять в одной или нескольких командах. По-умолчанию, новый пользователь состоит в команде, которая названа в его честь. Например, для пользователя John, это будет John's Team.

Эту команду пользователь может переименовать или создать дополнительные. Приглашать других пользователей в свою команду можно только зная их email и они должны быть уже зарегистрированы на сайте. Владелец команды назначает роли для остальных участников. Роли могут быть Administrator или Editor. Administrator имеет полные права, когда Editor может только читать, создавать и обновлять. То есть имеет все те же права, кроме удаления.
image
Теги:
Хабы:
Всего голосов 3: ↑2 и ↓1+4
Комментарии4

Публикации

Истории

Работа

PHP программист
178 вакансий

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань