Multi-method two factor authentication for Laravel apps.
boxed-code/laravel-challenge is a Laravel package for multi-method two factor authentication for laravel apps..
It currently has 2 GitHub stars and 11.976 downloads on Packagist (latest version 2.0).
Install it with composer require boxed-code/laravel-challenge.
Discover more Laravel packages by boxed-code
or browse all Laravel packages to compare alternatives.
Last updated

You'll need PHP >= 7.4 and Laravel 6.x, 7.x or 8.x.
A demo project is available at laravel-challenge-demo, see this commit to view how simple it is to implement.
composer require boxed-code/laravel-challenge then run the databse migrations using ./artisan migrate
Modify your User model class to implement \BoxedCode\Laravel\Auth\Challenge\Contracts\Challengeable and either optionally use the BoxedCode\Laravel\Auth\Challenge\Challengeable trait or implement the the methods defined in the contract yourself.
Next you must add the middleware \BoxedCode\Laravel\Auth\Challenge\Http\Middleware\RequireAuthentication to the routes you would like to protect or simply add it to the global stack
Login an enrol yourself to the default 'email' authentication method at http://localhost/tfa/email/enrol, then logout and in again to be challenged for 2FA via email.
MIT