soved/laravel-magic-auth is a Laravel package for authenticate users using a magic link.
It currently has 15 GitHub stars and 1.189 downloads on Packagist (latest version v1.1.4).
Install it with composer require soved/laravel-magic-auth.
Discover more Laravel packages by soved
or browse all Laravel packages to compare alternatives.
Last updated
Fast and secure passwordless authentication for the masses.
First, install the package via the Composer package manager:
$ composer require soved/laravel-magic-auth
After installing the package, you should publish the configuration file:
$ php artisan vendor:publish --tag=magic-auth-config
Add the Soved\Laravel\Magic\Auth\Contracts\CanMagicallyLogin interface to the App\User model:
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Soved\Laravel\Magic\Auth\Traits\CanMagicallyLogin;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Soved\Laravel\Magic\Auth\Contracts\CanMagicallyLogin as CanMagicallyLoginContract;
class User extends Authenticatable implements CanMagicallyLoginContract
{
use Notifiable, CanMagicallyLogin;
}
Finally, add the Soved\Laravel\Magic\Auth\Traits\CanMagicallyLogin trait to the App\User model to implement the interface.
This package exposes two endpoints, one to request a magic link (magic/email) and one to authenticate using the magic link (magic/login). Your application should make a POST call, containing the user's email address, to request a magic link. The magic link will be send via email using a notification. Feel free to customize the notification by overriding the CanMagicallyLogin@sendMagicLinkNotification method.
You may want to register the Soved\Laravel\Magic\Auth\Http\Middleware\AuthenticateWithMagicLink middleware to ensure users are authenticated via a magic link.
If you discover a security vulnerability within this project, please send an e-mail to Sander de Vos via [email protected]. All security vulnerabilities will be promptly addressed.
This package is open-source software licensed under the MIT license.