lornequinn / auth
ARCHIVED - Fortify-based authentication with Livewire views for Laravel. Superseded by the official Laravel Livewire starter kit (Fortify variant).
Requires
- php: ^8.3
- illuminate/support: ^13.0
- laravel/fortify: ^1.24
- livewire/livewire: ^4.0
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.0
- orchestra/testbench: ^11.0
- pestphp/pest: ^4.4
- pestphp/pest-plugin-laravel: ^4.1
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
⚠️ ARCHIVED — September 2026. Not maintained. Do not use in new projects.
This package existed to provide Fortify-based auth scaffolding without a Flux dependency. That was its entire reason for being. That reason no longer holds: Flux's free tier now covers every component an auth screen needs (input, button, checkbox, link, field, error, and a segmented
otpinput for 2FA challenges), so hand-writing and maintaining a parallel set of Tailwind auth views buys nothing.Use the official Laravel Livewire starter kit instead —
laravel newand pick Livewire + Fortify. It is generated from laravel/maestro, actively maintained upstream, and ships passkeys, teams, and dark mode that this package never had.Known issues in this final release, unfixed:
- The "Database" section below is wrong. Fortify only publishes its two-factor migration, it does not load it.
php artisan migratealone will not create thetwo_factor_*columns, and 2FA will fail at the database level. You would needphp artisan vendor:publish --tag=fortify-migrationsfirst.- Two-factor authentication is completely untested. No test covers setup, challenge, recovery codes, or disable. The test harness cannot exercise it — the test
Userdoes not useTwoFactorAuthenticatableand the two-factor migration is never loaded.- Password reset is never completed with a real signed token in any test; only the "send link" step is covered.
- Pinned to
laravel/fortify: ^1.24, which is 15 minor versions behind current. Passkeys, the passkeys rate limiter,Features::passkeys()and the associated route paths all postdate it.The repository is kept for its git history and as a reference for wiring Fortify actions, config, and
Fortify::viewNamespace()behind a package boundary.
Fortify-based authentication with Livewire views for Laravel. Drop-in auth scaffold with login, registration, password reset, email verification, two-factor authentication, and a profile page.
Requirements
- PHP 8.3+
- Laravel 13
- Livewire 4
Installation
composer require lornequinn/auth
The package auto-discovers via Laravel's package discovery. No manual provider registration needed.
Publish the config:
php artisan vendor:publish --tag=lq-auth-config
Database
Run the Fortify migrations (if you haven't already):
php artisan migrate
Your User model must implement MustVerifyEmail if you want email verification:
use Illuminate\Contracts\Auth\MustVerifyEmail; class User extends Authenticatable implements MustVerifyEmail { // ... }
For two-factor authentication, add the TwoFactorAuthenticatable trait:
use Laravel\Fortify\TwoFactorAuthenticatable; class User extends Authenticatable implements MustVerifyEmail { use TwoFactorAuthenticatable; }
What You Get
Routes
| Route | Component | Middleware |
|---|---|---|
/login |
Login | guest |
/register |
Register | guest |
/forgot-password |
ForgotPassword | guest |
/reset-password/{token} |
ResetPassword | guest |
/two-factor-challenge |
TwoFactorChallenge | guest |
/email/verify |
VerifyEmail | auth |
/user/confirm-password |
ConfirmPassword | auth |
/dashboard |
Dashboard | auth, verified |
/profile |
ProfileShow | auth, verified |
Livewire Components
All components are registered under the lq-auth prefix:
lq-auth.loginlq-auth.registerlq-auth.forgot-passwordlq-auth.reset-passwordlq-auth.verify-emaillq-auth.confirm-passwordlq-auth.two-factor-challengelq-auth.dashboardlq-auth.profile.showlq-auth.profile.update-profile-informationlq-auth.profile.update-passwordlq-auth.profile.two-factor-authentication
Configuration
After publishing, edit config/lq-auth.php:
Layouts
'guest_layout' => 'lq-auth::layouts.guest', 'app_layout' => 'lq-auth::layouts.app',
Override these to use your own layouts. The package ships minimal layouts — point these at your app's layout views or a UI package.
Features
Toggle any Fortify feature:
'features' => [ 'registration' => true, 'reset-passwords' => true, 'email-verification' => true, 'update-profile-information' => true, 'update-passwords' => true, 'two-factor-authentication' => true, ],
Post-Login Redirect
'home' => '/dashboard',
Middleware
Middleware for authenticated routes (dashboard, profile):
'middleware' => ['web', 'auth', 'verified'],
Custom Actions
Override Fortify action classes with your own:
'actions' => [ 'create_user' => App\Actions\CreateNewUser::class, 'update_profile' => null, // null = use package default 'update_password' => null, 'reset_password' => null, ],
Customising Views
Publish the views:
php artisan vendor:publish --tag=lq-auth-views
Views are published to resources/views/vendor/lq-auth/. Edit them directly.
License
MIT