Skip to content

AuthKit

AuthKit is a reusable, configuration-driven authentication system for Laravel that gives you complete control over authentication flows, UI, and behavior — without locking you into rigid scaffolding.

It is designed for developers who want speed, flexibility, and long-term maintainability when building authentication into real applications.

Why AuthKit?

Most authentication solutions fall into two extremes:

  • Too rigid — difficult to customize beyond basic use cases
  • Too low-level — requiring you to build everything from scratch

AuthKit sits in the middle.

It provides a complete authentication system out of the box, while still allowing you to customize and extend every part of the flow.

What You Get

AuthKit ships with a full set of authentication and security features:

Core Authentication

  • User registration
  • Login and logout
  • Password confirmation for sensitive actions

Security Flows

  • Email verification (link and token-based)
  • Password reset flows
  • Two-factor authentication (TOTP, recovery codes, extensible methods)

UI and Frontend

  • Blade-based UI system
  • Theme-ready CSS structure
  • JavaScript runtime for enhanced form handling (AJAX support)

Developer Experience

  • Config-driven architecture
  • Action-based flow handling
  • DTO-based responses
  • Clean separation of concerns

Extensibility

  • Replace or extend actions
  • Custom mappers for persistence
  • Custom notifiers for delivery (email, SMS, etc.)
  • Flexible route and middleware configuration

Designed for Real Applications

AuthKit is not just a starter template — it is built for production use.

It is especially suited for:

  • SaaS platforms
  • Multi-tenant applications
  • Admin panels and dashboards
  • Products requiring customizable authentication flows
  • Teams that need long-term maintainability

Requirements

  • PHP 8.3 or higher
  • Laravel 12 or 13

Installation

Install AuthKit via Composer:

bash
composer require xul/auth-kit

Publish configuration and resources:

bash
php artisan vendor:publish --provider="Xul\AuthKit\AuthKitServiceProvider"

Run your migrations:

bash
php artisan migrate

Continue with the Quick Start guide to get up and running.

Quick Example

Once installed, AuthKit provides ready-to-use authentication flows.

A typical setup includes:

  • Configuring routes and middleware
  • Ensuring your user model supports required traits
  • Publishing and customizing views if needed

From there, authentication flows such as registration, login, and two-factor authentication are immediately available.

Core Concepts

Understanding these concepts will help you use AuthKit effectively:

Configuration-Driven

Most behavior is controlled through configuration rather than hardcoded logic.

Actions

Each authentication flow is handled by dedicated action classes.

DTOs (Data Transfer Objects)

Actions return structured results that define:

  • success state
  • errors
  • redirects
  • public payloads

Support Layer

Handles complex flows such as:

  • password resets
  • two-factor authentication
  • notification delivery
  • data mapping

UI Layer

Blade views, CSS, and JavaScript work together to provide a flexible frontend system.

Documentation Overview

Start here:

Explore features:

  • Authentication flows
  • Security flows
  • UI customization

Go deeper:

Extending AuthKit

AuthKit is built to be extended.

You can:

  • Replace default actions with your own
  • Customize how data is persisted using mappers
  • Change how notifications are delivered
  • Modify or replace UI components and flows

See the Extending AuthKit section for details.

Contributing

Contributions are welcome.

If you want to improve AuthKit:

  • Submit issues
  • Open pull requests
  • Suggest enhancements

Support and Feedback

If you encounter issues or have ideas:

  • Open an issue on GitHub
  • Provide clear reproduction steps when possible

Star the Repository

If AuthKit helps you build faster or cleaner authentication systems, consider starring the repository:

👉 https://github.com/Xultech-LTD/auth-kit

It helps others discover the project and supports continued development.

Next Step

Proceed to the Installation guide to begin integrating AuthKit into your application.