108 lines
2.8 KiB
Markdown
108 lines
2.8 KiB
Markdown
# 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
|
|
|
|
---
|