ghostzero / nova-two-factor
Nova Two Factor Authentication
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 33
pkg:composer/ghostzero/nova-two-factor
Requires
- php: ^8.0
- bacon/bacon-qr-code: ^2.0
- laravel/nova: ^4.0
- pragmarx/google2fa-laravel: ^2.0
This package is auto-updated.
Last update: 2025-10-09 17:40:54 UTC
README
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 !




