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,
]
- Karl Monson - Author
- Fast - Inspiration
- Slack - Inspiration
The MIT License (MIT). Please see License File for more information.