deixtra/laravel-starter-auth

Laravel 13 auth scaffold with views, models, migrations, controllers, middleware and password reset

Maintainers

Package info

github.com/Deixtra-Private-Limited/laravel-starter-auth

Homepage

pkg:composer/deixtra/laravel-starter-auth

Statistics

Installs: 10

Dependents: 0

Suggesters: 0

Stars: 2

Open Issues: 0

v1.0.6 2026-04-08 05:46 UTC

This package is auto-updated.

Last update: 2026-05-08 09:04:39 UTC


README

License: MIT Packagist Version Total Downloads PHP Version Laravel

A production-ready Laravel 13 authentication scaffold with beautiful Tailwind CSS views, full password reset flow, middleware, migrations, controllers, and an interactive installer — set up in seconds.

Features

  • 🔐 Full auth flow — Login, Register, Logout, Forgot Password, Reset Password
  • Interactive installerphp artisan auth-starter:install guides you through every step
  • 🎨 Beautiful Tailwind CSS views — Deep purple theme, ready to customize
  • 🛡️ Middleware included — Auto-registered in bootstrap/app.php
  • 📋 Migrations includedusers & password_reset_tokens tables
  • 🔑 Flexible User model — Use your existing App\Models\User or scaffold a new one
  • ⚙️ Custom naming — Choose your own controller, middleware, routes file & views directory name
  • 🌐 Route prefix support — Namespace all routes under /auth/* or any custom prefix
  • Zero config required — Works out of the box with sensible defaults
  • 📦 Laravel 13 ready — Built with PHP 8.3+ and Laravel 13 conventions

Requirements

Dependency Version
PHP ^8.3
Laravel ^13.0

Installation

composer require deixtra/laravel-starter-auth

The service provider is auto-discovered — no manual registration needed.

Setup

Run the interactive installer:

php artisan auth-starter:install

The installer will ask you:

  1. User model — Use existing App\Models\User or create a new one
  2. Controller name — Custom name for the auth controller
  3. Middleware name — Custom name for the middleware
  4. Routes file name — Custom name for the routes file
  5. Views location — Where to publish the views
  6. Migrations — Run migrations now or skip
  7. Route prefix — Optional prefix e.g. auth/auth/login

Use --force to overwrite already-published files:

php artisan auth-starter:install --force

Configuration

After installation, edit config/auth-starter.php:

return [
    // URL prefix for all auth routes. '' = /login, 'auth' = /auth/login
    'route_prefix' => env('AUTH_STARTER_PREFIX', ''),

    // Redirect here after login/registration
    'home' => '/dashboard',

    // Set false to disable registration entirely
    'registration_enabled' => true,

    // true = App\Models\User, false = package's own User model
    'use_existing_user_model' => true,

    // Published file names (set automatically by installer)
    'controller_name' => 'AuthController',
    'middleware_name'  => 'auth.starter',
    'routes_file'      => 'auth',
    'views_path'       => 'auth-starter',
];

Via .env:

AUTH_STARTER_PREFIX=auth

Routes

All routes are prefixed with auth-starter. for named route access.

Method URI Name Middleware
GET /login auth-starter.login guest
POST /login guest
GET /register auth-starter.register guest
POST /register guest
GET /forgot-password auth-starter.password.request guest
POST /forgot-password auth-starter.password.email guest
GET /reset-password/{token} auth-starter.password.reset guest
POST /reset-password auth-starter.password.update guest
GET /dashboard auth-starter.dashboard auth
POST /logout auth-starter.logout auth

Dashboard & logout have no prefix — always at /dashboard and /logout.

Use named routes in Blade:

<a href="{{ route('auth-starter.login') }}">Login</a>
<a href="{{ route('auth-starter.dashboard') }}">Dashboard</a>

Middleware

The package includes RedirectIfAuthenticated middleware. The installer auto-injects the alias into bootstrap/app.php.

If auto-injection fails, add it manually:

// bootstrap/app.php
->withMiddleware(function (Middleware $middleware) {
    $middleware->alias([
        'auth.starter' => \Deixtra\LaravelStarterAuth\Http\Middleware\RedirectIfAuthenticated::class,
    ]);
})

Customizing Views

Publish views to your application:

php artisan vendor:publish --tag=auth-starter-views

Published to resources/views/vendor/auth-starter/ — edit freely, package uses your copies over defaults.

View structure

resources/views/vendor/auth-starter/
├── layouts/
│   └── app.blade.php
├── auth/
│   ├── login.blade.php
│   ├── register.blade.php
│   ├── forgot-password.blade.php
│   └── reset-password.blade.php
└── dashboard.blade.php

Publishing Individual Assets

# Config only
php artisan vendor:publish --tag=auth-starter-config

# Migrations only
php artisan vendor:publish --tag=auth-starter-migrations

# Views only
php artisan vendor:publish --tag=auth-starter-views

# Controllers only
php artisan vendor:publish --tag=auth-starter-controllers

# Middleware only
php artisan vendor:publish --tag=auth-starter-middleware

License

MIT License — see LICENSE for details.

Credits

Built with ❤️ by Deixtra Private Limited

🌐 Website deixtra.com
📧 Email support@deixtra.com
🐙 GitHub Deixtra-Private-Limited
📦 Packagist deixtra/laravel-starter-auth