Nova Two Factor
Nova Two Factor stats
- Downloads
- 67.4K
- Stars
- 39
- Open Issues
- 0
- Forks
- 23
Nova Two Factor Authentication
Nova-Two-Factor
Laravel nova in-dashboard 2FA security feature.
What's New
v2.2.3
- Fixed foreign key issue (need to run migration)
- Translation fixes
v2.2.2
- Clear option for current Two FA settings
v2.2.0
- Reauthorize any routes using 2FA Prompt dialog.
Interface
Setup 2FA

Enable/Disable feature

Nova login screen with 2FA security

Reauthorize any route using 2FA prompt

Install the package
composer require visanduma/nova-two-factor
- Pubish config & migration
php artisan vendor:publish --provider="Visanduma\NovaTwoFactor\ToolServiceProvider"
Change configs as your needs
return [ // enable or disable 2FA feature. default is enabled 'enabled' => env('NOVA_TWO_FA_ENABLE',true), // name of authenticatable entity table. usually - users 'user_table' => 'users', // Entity primary key 'user_id_column' => 'id', // authenticatable model class 'user_model' => \App\Models\User::class /* Change visibility of Nova Two Fa menu in right sidebar */ 'showin_sidebar' => true, 'menu_text' => 'Two FA', 'menu_icon' => 'lock-closed', /* Exclude any routes from 2fa security */ 'except_routes' => [ // ], /** * reauthorize these urls before access, withing given timeout * you are allowed to use wildcards pattern for url matching **/ 'reauthorize_urls' => [ // 'nova/resources/users/new', // 'nova/resources/users/*/edit', ], /* timeout in minutes */ 'reauthorize_timeout' => 5, ];
- Use ProtectWith2FA trait in configured model
<?php namespace App\Models; use Visanduma\NovaTwoFactor\ProtectWith2FA; class User extends Authenticatable{ use ProtectWith2FA;}
- Add TwoFa middleware to nova config file
/* |-------------------------------------------------------------------------- | Nova Route Middleware |-------------------------------------------------------------------------- | | These middleware will be assigned to every Nova route, giving you the | chance to add your own middleware to this stack or override any of | the existing middleware. Or, you can just stick with this stack. | */ 'middleware' => [ ... \Visanduma\NovaTwoFactor\Http\Middleware\TwoFa::class ],
- Register NovaTwoFactor tool in Nova Service Provider
<?php class NovaServiceProvider extends NovaApplicationServiceProvider{ public function tools() { return [ ... new \Visanduma\NovaTwoFactor\NovaTwoFactor() ]; } }
- Run
php artisan migrate - You are done !