karlmonson/laravel-magic

Laravel Magic is a passwordless authentication driver

0.2 2020-01-06 15:28 UTC

This package is auto-updated.

Last update: 2024-04-12 09:03:28 UTC


README

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.