Laravel Authentication System 🔐
A complete authentication setup with Passport, Sanctum, JWT, Fortify, Starter Kit, and manual implementations for both API and Web — all in one place.
Version: [1.0.0]
Table of Contents
- 🚀 Overview
- ✨ Features
- 🛠️ Installation
- ⚙️ Configuration
- 💻 Usage
- 🗂️ Project Structure
- 🧪 Running Tests
- 🤝 Contributing
- 📝 License
1. Overview
This repository implements all major Laravel authentication packages for both API and web contexts. For API, it integrates Passport, Sanctum, and JWT; for web, it uses Fortify, the Laravel Starter Kit, and a manual implementation. The goal is to provide a one-stop reference so developers can immediately leverage a complete auth stack without extra wiring.
2. Features
API Authentication: - Laravel Passport (OAuth2) - Laravel Sanctum (token-based SPA auth) - JSON Web Tokens (JWT) via tymondesigns/jwt-auth
Web Authentication: - Laravel Fortify (backend auth services) - Laravel Starter Kit (prebuilt UI scaffolding) - Manual implementation (custom controllers, middleware)
Common Auth Features: - Register, Login, Logout, Delete Account - Remember Me, Email Verification, Password Reset - Social Login (e.g. Google, Facebook) - Two-Factor Authentication (2FA) - Session Browsing & “Logout Other Devices” - User Profile Management, CAPTCHA protection
3. Installation
git clone https://github.com/Nima8FT/Laravel-Authentication-System.git
cd Laravel-Authentication-System
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
4. Configuration
Update your .env file with the proper DB credentials and any third-party API keys for social login or CAPTCHA.
5. Usage
- Use Postman or your preferred client to interact with the API routes.
- Web routes are accessible via your browser.
6. Project Structure
app/Http/Controllers/Auth/- Custom auth logicroutes/web.phpandroutes/api.php- Separate route files for web and APIconfig/auth.php- Auth guard configuration
7. Running Tests
npm run dev
php artisan serve
8. Contributing
- Fork this repository.
- Create a branch:
git checkout -b my-feature. - Make your changes and commit them:
git commit -m 'Add some feature'. - Push to the branch:
git push origin my-feature. - Submit a pull request.
9. License
This project is open-sourced software