claudiodekker/laravel-auth
claudiodekker/laravel-auth provides a ready-to-use authentication layer for Laravel, adding login, registration, password reset, and email verification with sensible defaults and a simple setup. It helps you scaffold secure auth flows quickly without building them from scratch.
claudiodekker/laravel-auth is an authentication scaffold package, split into two installable pieces as of v0.2.0:
claudiodekker/laravel-auth-core) — the runtime auth layer (routes, controllers, guards, translations).claudiodekker/laravel-auth / -bladebones) — a Blade-based scaffolding generator, in the same spirit as Breeze/Jetstream.First steps for a fresh install:
composer require claudiodekker/laravel-auth
php artisan vendor:publish --tag=auth-config
php artisan vendor:publish --tag=auth-lang
php -v (needs 8.2 for this release line) and composer show laravel/framework (Laravel 10 target).First use case: stand up a working login/registration/password-reset flow with Blade views you own and can edit, then layer your own authorization (policies, gates) on top. Do not treat this as a full authorization system — it's authentication + scaffolding.
Generate once, own the output. Bladebones is a generator, not a runtime package. Treat its output like Breeze's: commit the generated controllers/views/routes into your app and modify them freely. Re-running the generator should be a deliberate act on a clean branch, not part of your deployment pipeline.
Separate core from UI. Because Core and Bladebones are now split (and Bladebones depends on laravel-auth-core, not the metapackage), you can swap the UI layer. If you want Inertia, Livewire, or your own frontend, install Core and build the views yourself — the routes/controllers stay consistent.
Integrate with existing user models. Point the package at your App\Models\User via config before generating, so scaffolded controllers and views reference the right model and guard. If you already have auth, generate on a throwaway branch and cherry-pick the pieces you need instead of overwriting.
Translations as a contract. Core now tests against translation keys rather than string matches (per #23). This means you can safely override auth.php / package lang files and expect behavior not to break — a good reason to keep your own translations published and under version control.
Version-pinning across the monorepo. Since the two packages moved into a single monorepo, keep Core and Bladebones on the same minor version to avoid subtle drift. In composer.json, prefer "claudiodekker/laravel-auth": "^0.2" rather than dev-main.
claudiodekker/laravel-auth-core rather than claudiodekker/laravel-auth. If you had claudiodekker/laravel-auth-bladebones pinned at ^0.1, that constraint and its transitive dependency will need updating. Check composer why claudiodekker/laravel-auth-core after upgrading.composer.lock drift. After upgrading, run composer update claudiodekker/laravel-auth claudiodekker/laravel-auth-core --with-dependencies and inspect the diff — the dependency rename is the most likely source of duplicate installs or autoload conflicts.sleep()s or test workarounds.php artisan route:list --name=auth to confirm the package routes are registered. If routes are missing, the service provider likely isn't auto-discovered (check bootstrap/cache/packages.php or run php artisan package:discover).vendor/ for auth logic — the monorepo reshuffle is exactly the kind of change that would bite you.How can I help you explore Laravel packages today?