modernmcguire / drawbridge
Add 2FA support to your Laravel Application
                                    Fund package maintenance!
                                                                            
                                                                                                                                        Modern McGuire
                                                                                    
                                                                
Installs: 323
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 1
pkg:composer/modernmcguire/drawbridge
Requires
- php: ^8.1
 - illuminate/contracts: ^10.0
 - spatie/laravel-package-tools: ^1.14.0
 
Requires (Dev)
- larastan/larastan: ^2.0.1
 - laravel/pint: ^1.0
 - nunomaduro/collision: ^7.8
 - orchestra/testbench: ^8.8
 - pestphp/pest: ^2.20
 - pestphp/pest-plugin-arch: ^2.5
 - pestphp/pest-plugin-laravel: ^2.0
 - phpstan/extension-installer: ^1.1
 - phpstan/phpstan-deprecation-rules: ^1.0
 - phpstan/phpstan-phpunit: ^1.0
 
Suggests
- pragmarx/google2fa-laravel: For use with the Google2FA driver
 
README
Add 2FA support to your Laravel Application!
Installation
You can install the package via composer:
composer require modernmcguire/drawbridge
You can publish and run the migrations with:
php artisan vendor:publish --tag="drawbridge-migrations"
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --tag="drawbridge-config"
Optionally, you can publish the login and email using
php artisan vendor:publish --tag="drawbridge-views"
Config
The package has multiple drivers to choose from. You can set the driver in the config file or your env.
'default_driver' => env('OTP_DRIVER', 'email'),
Note: Currently the only one that is setup is the email driver.
Usage
- Run Migrations
 - Apply the 
HandlesOTPtrait to your User model - Set 
two_factor_enabledto true on the user - Login!
 
You will be redirected to a page to enter your OTP code.
Database
New database fields will be added to your users table.
| Field | Description | 
|---|---|
| two_factor_enabled | Whether two-factor authentication is enabled | 
| otp_secret | The OTP code to match against | 
| otp_secret_expires_at | The time the OTP code expires (default: 5 minutes) | 
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.