# 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. [GitHub Repository](https://github.com/Nima8FT/Laravel-Authentication-System) Version: [1.0.0] ## Table of Contents 1. [๐Ÿš€ Overview](#1-overview) 2. [โœจ Features](#2-features) 3. [๐Ÿ› ๏ธ Installation](#3-installation) 4. [โš™๏ธ Configuration](#4-configuration) 5. [๐Ÿ’ป Usage](#5-usage) 6. [๐Ÿ—‚๏ธ Project Structure](#6-project-structure) 7. [๐Ÿงช Running Tests](#7-running-tests) 8. [๐Ÿค Contributing](#8-contributing) 9. [๐Ÿ“ License](#9-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 ```bash 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 logic - `routes/web.php` and `routes/api.php` - Separate route files for web and API - `config/auth.php` - Auth guard configuration --- ### 7. Running Tests ```bash npm run dev php artisan serve ``` --- ### 8. Contributing 1. Fork this repository. 2. Create a branch: `git checkout -b my-feature`. 3. Make your changes and commit them: `git commit -m 'Add some feature'`. 4. Push to the branch: `git push origin my-feature`. 5. Submit a pull request. --- ### 9. License This project is open-sourced software ---