Laravel Fortify: Implement Authentication Scaffolding In Laravel 8

Razet · · 8490 Views

Since the arrival of Laravel 8 and Jetstream, the package laravel/ui fall in some sort of deprecated status.

The issue with Jetstream is that we simply need the auth scaffolding without the need of Inertia.js or Livewire stacks.

Don't get me wrong, I love working with Inertia or Livewire, yet in some cases, you only need the auth part.

Going back to laravel/ui, it's as yet conceivable to utilize the package on Laravel 8. However, I want to restore that functionality without the referenced package.

In the guide, I'm going to describe steps to have similar behavior using Laravel Fortify.

Project setup

  1. laravel new laravel-fortify-demo

  2. composer require laravel/fortify

  3. php artisan vendor:publish --provider="Laravel\\Fortify\\FortifyServiceProvider"

  4. configure your database

  5. php artisan migrate

Setup Fortify

Open config/app.php and register Fortify service provider:

App\Providers\FortifyServiceProvider::class,

Next, open config/fortify.php and update your features array as follow:

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

Now we need to tell Fortify where is our auth views.

Open app/Providers/FortifyServiceProvider.php and in the boot method add:

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');
});

Create the views

We need to create the 4 mentioned blade files:

  1. resources/views/auth/forgot-password.blade.php

  2. resources/views/auth/login.blade.php

  3. resources/views/auth/register.blade.php

  4. resources/views/auth/reset-password.blade.php

I "borrowed" the views from the laravel/ui package; 

Conclusions

This article covers the essential register, login, and password reset functionalities.

Here are some other features of Laravel fortify, 

  1. Forget Password & User Profile Update

  2. Email verification tutorial video tutorial

  3. Two Factor Authentication (2FA)

0

Please login or create new account to add your comment.

0 comments
You may also like:

Laravel Facades: Simplifying Code and Improve Readability

As an integral part of Laravel, a renowned PHP framework, Facades provide a static interface to classes stored in the application's service container. They serve as static proxies (...)
Harish Kumar

What is Laravel’s Service Container and How to Use Dependency Injection in Laravel App

Dependency injection and inversion of control are vital in clean web development. They make writing maintainable, testable code possible. Laravel is a famous PHP framework that (...)
Harish Kumar

Secure Your SPA with Laravel Sanctum: A Step-by-Step Guide

In today's web development landscape, Single Page Applications (SPAs) are increasingly popular. But securing their interaction with backend APIs is crucial. Laravel Sanctum provides (...)
Harish Kumar

Multi-Authentication with Guards in Laravel

Laravel's robust authentication system provides a powerful mechanism for securing your application. To cater to scenarios where you need different user roles with distinct login (...)
Harish Kumar

Laravel Pint & VS Code: Automate Your Code Formatting

Laravel Pint is an opinionated PHP code style fixer built on top of PHP-CS-Fixer, designed to simplify the process of ensuring clean and consistent code style in Laravel projects. (...)
Harish Kumar

Laravel Clockwork: A Deep Dive into Debugging, Profiling Skills and Best Practices

In the world of web development, building complex applications often comes with the challenge of identifying and resolving performance bottlenecks. This is where a reliable debugging (...)
Harish Kumar