Laravel Fortify를 사용하여 laravel/ui 기능 복원

Laravel 8과 Jetstream이 출시된 이후로 패키지laravel/ui는 사용되지 않는 상태가 되었습니다.

Jetstream의 문제(그리고 우리 중 많은 사람들이 같은 느낌이라고 생각합니다)는 Inertia.js 또는 Livewire 스택 없이 인증 스캐폴딩을 원한다는 것입니다.

오해하지 마세요. 저는 Inertia 또는 Livewire로 작업하는 것을 좋아하지만 때로는 인증 부분만 필요할 때가 있습니다.
laravel/ui로 돌아가서 Laravel 8에서 패키지를 계속 사용할 수 있지만 언급된 패키지 없이 해당 기능을 복원하고 싶습니다.

이 가이드에서는 Laravel Fortify를 사용하여 유사한 동작을 수행하는 모든 단계를 설명합니다.

프로젝트 설정


  • laravel new laravel-fortify-demo
  • composer require laravel/fortify
  • php artisan vendor:publish --provider="Laravel\\Fortify\\FortifyServiceProvider"
  • 데이터베이스 구성
  • php artisan migrate

  • Fortify 설정



    Fortify 서비스 제공업체를 열고config/app.php 등록합니다.

    App\Providers\FortifyServiceProvider::class,
    

    그런 다음config/fortify.php을 열고 다음과 같이 기능 배열을 업데이트합니다.

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

    이제 Fortify에 인증 보기가 어디에 있는지 알려야 합니다.

    열기app/Providers/FortifyServiceProvider.phpboot 메서드에서 다음을 추가합니다.

    Fortify::loginView(function () {
        return view('auth.login');
    });
    
    Fortify::registerView(function () {
        return view('auth.register');
    });
    
    Fortify::requestPasswordResetLinkView(function () {
        return view('auth.forgot-password');
    });
    
    Fortify::resetPasswordView(function () {
        return view('auth.reset-password');
    });
    

    보기 만들기



    언급된 4개의 블레이드 파일을 생성해야 합니다.
  • 리소스/보기/auth/forgot-password.blade.php
  • resources/views/auth/login.blade.php
  • 리소스/보기/auth/register.blade.php
  • resources/views/auth/reset-password.blade.php
  • laravel/ui 패키지에서 보기를 "빌려왔습니다". 당신은 잡을 수 있습니다 here

    페이지 보호



    이제 경로를 보호하고 다음과 같은 미들웨어를 열고routes/web.php 사용auth해야 합니다.

    Route::get('/', function () {
        return view('welcome');
    })->middleware(['auth']);
    

    마지막 단어



    보시다시피 이 기사에서는 기본 등록, 로그인 및 비밀번호 재설정 기능을 다룹니다.

    Fortify에는 흥미로운 이메일 확인 기능이 포함되어 있습니다. 관심이 있는 경우 패키지documentation를 살펴볼 수 있습니다.

    인증 보기(번들 css 및 js 파일 포함)는 데모용으로만 만들어집니다. 당신은 ui를 돌봐야 할 것입니다.

    GitHub 저장소



    최종 버전을 확인하려면 skydiver/laravel-fortify-demo repo를 방문하십시오.

    좋은 웹페이지 즐겨찾기