Простая аутентификация Laravel 8 с помощью Inertia Jetstream: подробное руководство

Вы хотите создать современное веб-приложение на Laravel 8, включающее аутентификацию пользователей? Не смотрите дальше! В этой статье мы углубимся в мощную комбинацию Laravel 8, Auth Scaffolding и Inertia Jetstream, чтобы упростить процесс. Независимо от того, являетесь ли вы опытным разработчиком Laravel или только начинаете, это руководство познакомит вас с основными методами и предоставит примеры кода, которые помогут вам быстро приступить к работе.

Прежде чем мы начнем, убедитесь, что в вашей системе установлены Laravel 8 и Composer. Когда вы будете готовы, приступим!

  1. Установка Laravel Jetstream
    Для начала нам необходимо установить Laravel Jetstream, который обеспечивает основу для системы аутентификации. Откройте терминал и выполните следующую команду:

    composer require laravel/jetstream
  2. Создание нового проекта Laravel
    Далее давайте создадим новый проект Laravel, используя пресет Jetstream. Запустите следующую команду в своем терминале:

    laravel new myproject

После создания проекта перейдите в каталог проекта:

cd myproject
  1. Установка каркаса Jetstream
    Теперь давайте установим каркас Jetstream в наш проект Laravel:
    php artisan jetstream:install inertia

Эта команда установит необходимые зависимости и настроит систему аутентификации, используя Inertia в качестве внешнего стека.

  1. Выполнение миграции
    Чтобы создать необходимые таблицы базы данных для аутентификации, выполните следующую команду:

    php artisan migrate
  2. Маршруты аутентификации
    Laravel Jetstream автоматически генерирует маршруты, необходимые для аутентификации. Чтобы обеспечить доступ к определенным маршрутам только прошедшим проверку подлинности пользователям, вы можете использовать промежуточное программное обеспечение auth. Например:

    Route::middleware(['auth'])->group(function () {
    // Your authenticated routes here
    });
  3. Регистрация пользователя
    В Jetstream регистрация пользователя так же проста, как и доступ к регистрационной форме. Вы можете включить ссылку на регистрационную форму в пользовательский интерфейс вашего приложения или использовать следующий маршрут:

    Route::get('/register', [RegisterController::class, 'create'])->name('register');
  4. Вход пользователя
    Для функции входа пользователя Jetstream предоставляет удобную форму входа, которую вы можете включить в пользовательский интерфейс вашего приложения. Вы можете получить доступ к форме входа по следующему маршруту:

    Route::get('/login', [AuthenticatedSessionController::class, 'create'])->name('login');
  5. Выход пользователя
    Чтобы пользователи могли выйти из системы, Jetstream предоставляет маршрут выхода, на который вы можете ссылаться в своем пользовательском интерфейсе:

    <form method="POST" action="{{ route('logout') }}">
    @csrf
    <x-jet-dropdown-link href="{{ route('logout') }}"
            onclick="event.preventDefault();
                        this.closest('form').submit();">
        {{ __('Logout') }}
    </x-jet-dropdown-link>
    </form>

Эти методы охватывают основы аутентификации Laravel 8 с использованием Inertia Jetstream. Выполнив эти шаги, вы мгновенно получите полнофункциональную систему аутентификации с возможностью регистрации пользователей, входа в систему и выхода из системы.

Не забудьте изучить документацию Laravel, чтобы узнать о более продвинутых функциях и возможностях настройки. Приятного кодирования!