Gracias a Jetstream y Fortify a partir de Laravel 8 podemos tener un robusto sistema de autenticación incluyendo 2FA con 0 configuración. El proceso es completamente automático, pero si lo deseamos, podemos modificar prácticamente cualquier cosa, sólo necesitamos saber dónde.
Modificar redirección login Fortify
Para modificar la ruta en la que deseamos dejar a nuestros usuarios cuando han iniciado sesión utilizando Fortify sólo debemos hacer lo siguiente.
FortifyServiceProvider.php
<?php
namespace App\Providers;
// ...
use App\Http\Responses\LoginResponse;
use Laravel\Fortify\Contracts\LoginResponse as LoginResponseContract;
class FortifyServiceProvider extends ServiceProvider {
// ...
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
//...
$this->app->bind(LoginResponseContract::class, LoginResponse::class);
}
}LoginResponse.php
<?php
namespace App\Http\Responses;
use Illuminate\Http\RedirectResponse;
use Laravel\Fortify\Contracts\LoginResponse as LoginResponseContract;
class LoginResponse implements LoginResponseContract
{
public function toResponse($request): RedirectResponse {
if ($request->user()->hasRole("Admin")) {
return redirect(route("admin"));
}
// otro caso
return redirect(route("profile"));
}
}
Modificar redirección registro Fortify
El proceso para realizar la misma tarea en el sistema de registro es similar pero cambiando el contrato.
FortifyServiceProvider.php
<?php
namespace App\Providers;
// ...
use App\Http\Responses\RegisterResponse;
use Laravel\Fortify\Contracts\RegisterResponse as RegisterResponseContract;
class FortifyServiceProvider extends ServiceProvider {
// ...
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
// ...
$this->app->bind(RegisterResponseContract::class, RegisterResponse::class);
}
}RegisterResponse.php
<?php
namespace App\Http\Responses;
use Illuminate\Http\RedirectResponse;
use Laravel\Fortify\Contracts\RegisterResponse as RegisterResponseContract;
class RegisterResponse implements RegisterResponseContract
{
public function toResponse($request): RedirectResponse {
return redirect(route("profile"));
}
}Y de la misma forma podemos modificar el resto de respuestas que nos ofrece Fortify.
Curso Laravel 12
Completo 2026
El único curso 100% actualizado que incluye Laravel 12, Livewire 3, Vue 3, React 19 e Inertia 2. Aprende con proyectos reales y las últimas funcionalidades.
star Incluido en cualquier suscripción