Para instalar Laravel Fortify sin la necesitad de instalar todo el paquete de Jetstream con Inertia o Livewire, lo primero que tenemos que instalar es Laravel 8 sin ningun tipo de paquete. Para ello comenzamos con el siguiente comando:

laravel new ProyectoFortify

Que es Laravel Fortify?

Laravel Fortify es el paquete oficial del equipo de Laravel, que se encarga de generar los recursos necesarios para la autenticación en el backend. Se podría decir que Fortify es el reemplazo (o no) de Laravel UI.

La única desventaja que tenemos con este paquete es que la parte del front-end no viene incluida por lo que debemos generar nosotros mismos los templates de autenticación.

Agregar Laravel Fortify a Laravel 8

Ahora que ya tenemos nuestro proyecto limpio de Laravel 8, vamos a instalar el paquete de Fortify con composer.

composer require laravel/fortify

Una vez finalizada la instalación del paquete, vamos a copiar los archivos de configuración y acciones que nos provee Fortify.

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

De esta manera ya vamos a tener instalado Fortify en nuestro proyecto. Los archivos que se generaron los van a encontrar en app/actions y config/fortify. Dentro de este ultimo, se podra personalizar las diferentes funcionalidades a incluir en nuestro proyecto de Laravel 8.

'features' => [
        Features::registration(),
        Features::resetPasswords(),
        // Features::emailVerification(),
        Features::updateProfileInformation(),
        Features::updatePasswords(),
        Features::twoFactorAuthentication([
            'confirmPassword' => true,
        ]),
    ],

En caso de no querer el registro, solamente debemos comentar la línea que corresponde a registration(). Ahora necesitamos generar la migración para la autenticación de dos factores que viene incluida en Fortify.

php artisan migrate

Ahora solo nos quedan los últimos pasos para tener instalado Laravel Fortify sin Jetstream. Vamos a asignar Fortify como proveedor (Provider) de nuestro proyecto. Para ello abrimos el archivo config/app.php y editamos la parte de los providers agregando App\Providers\FortifyServiceProvider::class:

'providers' => [

        /*
         * ...... Providers defecto de Laravel
         */

        /*
         * Application Service Providers...
         */
        App\Providers\AppServiceProvider::class,
        App\Providers\AuthServiceProvider::class,
        // App\Providers\BroadcastServiceProvider::class,
        App\Providers\EventServiceProvider::class,
        App\Providers\RouteServiceProvider::class,

        App\Providers\FortifyServiceProvider::class,
 //Agregamos esta Línea

    ],

Ahora si, la ultima configuración que necesitamos es decirle a Fortify las rutas de las vistas para que al ingresar a /login y /register redireccione y muestre el template de las vistas. Abrimos el archivo app/Providers/FortifyServiceProvider.php y agregamos dentro de la función boot() lo siguiente:

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 ($request) {
    return view('auth.reset-password', ['request' => $request]);
});

Fortify::verifyEmailView(function () {
    return view('auth.verify-email');
});

En caso de que no quieran activar alguno de los Features que nos brinda Laravel Fortify, simplemente comenten la función que desean eliminar.

Agregando el Front-end

Si venís de Laravel 7, seguro interactuaste con Laravel UI. Un potente paquete para la autenticación y scaffolding del proyecto. Si bien viene con Bootstrap, podremos incluirlo como método fácil para tener las vistas listas. Recordemos que Laravel Fortify solamente se encarga del Backend y no del Frontend.

Creamos un nuevo proyecto de Laravel con Laravel UI incluido:

laravel new LaravelUI
composer require laravel/ui
php artisan ui bootstrap

Una vez terminada la instalación, procederemos a copiar la carpeta que se nos creo de Auth y la pegamos en nuestro proyecto con Fortify.

resources/views/auth

Y listo, ya tenemos nuestro login y registro con Fortify usando el frontend de Laravel UI.

  • […] un par de días escribí el articulo sobre como instalar Fortify sin Jetstream y hoy salió un nuevo paquete desarrollado por el equipo de Laravel de Taylor Otwell que ofrece una […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Etiquetas Relacionadas

Copyright © 2018-2020 Latirus. Todos los Derechos Reservados.