1abdulaziz / laravel-quick-login
A Laravel package for quick one-time login links.
1.0.2
2025-05-27 15:44 UTC
Requires
- php: ^8.1
- laravel/framework: ^10.0|^11.0
README
A simple Laravel package that allows users to log in using a one-time token โ no database table needed. Tokens are stored in cache and expire after a short time.
๐ฆ Installation
composer require 1abdulaziz/laravel-quick-login
โ๏ธ Setup
Add this route to your routes/web.php
:
use Illuminate\Http\Request; use LaravelQuickLogin\OneTimeLoginService; Route::get('/login/token/{token}', function (Request $request, string $token, OneTimeLoginService $service) { $user = $service->loginWithToken($token); return $user ? redirect('/')->with('status', 'Logged in successfully.') : redirect('/login')->withErrors(['token' => 'Invalid or expired token.']); })->name('login.via.token');
๐งช Usage Artisan
You can generate a one-time login link via Artisan:
php artisan uli 12 --minutes=5
๐ Usage Tinker
You can generate login URLs like this:
use LaravelQuickLogin\OneTimeLoginService; $service = app(OneTimeLoginService::class); $url = $service->generateLoginUrl($userId); // valid for 2 minutes by default
Or customize expiration time:
$url = $service->generateLoginUrl($userId, 10); // 10 minutes
๐ Security
- Token is deleted after first use
- Token expires quickly (default: 2 minutes)
- Use HTTPS in production
Made with โค๏ธ by [Abdulaziz zaid]