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

README.md

Laravel Magic

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

Installation

Install via Composer:

composer require karlmonson/laravel-magic

The package service provider and facade will be automatically registered.

Setup

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.

Configuration

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,
]

Credits

License

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

You can’t perform that action at this time.