1abdulaziz/laravel-quick-login

A Laravel package for quick one-time login links.

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/1abdulaziz/laravel-quick-login

1.0.2 2025-05-27 15:44 UTC

This package is auto-updated.

Last update: 2025-09-27 16:42:47 UTC


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]