Skip to content
Laravel Magic is a passwordless authentication driver
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
composer.json initial commit Dec 17, 2019

Laravel Magic

Laravel Magic is a passwordless authentication driver. Users receive a login link via email.


Install via Composer:

composer require karlmonson/laravel-magic

The package service provider and facade will be automatically registered.


After installation, run migrations:

php artisan migrate

This will create a new table magic_auth_requests in your database.

Next, replace the default AuthenticatesUsers trait on your LoginController with the following:

use KarlMonson\Magic\Traits\AuthenticatesUsers;

class LoginController extends Controller
    use AuthenticatesUsers;


You'll also need to add the Magical trait to your user model:

use KarlMonson\Magic\Traits\Magical;

class User extends Authenticatable
    use Magical, Notifiable;


We suggest dropping the password column from your user table, or at least making it nullable.


Next, in your auth config file, replace the 'users' driver with 'magic':

'providers' => [
    'users' => [
        'driver' => 'magic',
        'model' => App\User::class,

You may also specify an 'expire' option for Magic to use, this is how long login tokens will stay alive. The default is 10 if this is not specified.

'magic' => [
    'expire' => 10,



The MIT License (MIT). Please see License File for more information.

You can’t perform that action at this time.