Skip to content

modernmcguire/drawbridge

Repository files navigation

Driver-based 2FA for Laravel

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

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

  1. Run Migrations
  2. Apply the HandlesOTP trait to your User model
  3. Set two_factor_enabled to true on the user
  4. 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.