karlmonson / laravel-magic
Laravel Magic is a passwordless authentication driver
Requires
- illuminate/auth: ^6.0
- illuminate/database: ^6.0
- illuminate/notifications: ^6.0
- illuminate/support: ^6.0
This package is auto-updated.
Last update: 2024-11-12 10:12:56 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
- Karl Monson - Author
- Fast - Inspiration
- Slack - Inspiration
License
The MIT License (MIT). Please see License File for more information.