This package allows you to log in locally using pre-set email addresses, making it easy to log into one or multiple development user accounts. It can be used in an admin panel or multiple panels.
NOTE: You must have created the user accounts in order to use them with the login buttons, this package doesn't support the creation of user accounts.
This package requires the following:
PHP:^8.1
Filament:^3.0
You can install the package via composer:
composer require better-futures-studio/filament-local-logins
You can publish the config file with:
php artisan vendor:publish --tag="filament-local-logins-config"
This is the contents of the published config file:
use BetterFuturesStudio\FilamentLocalLogins\Filament\Pages\Auth\LoginPage; return [ 'panels' => [ 'admin' => [ 'enabled' => env('ADMIN_PANEL_LOCAL_LOGINS_ENABLED', env('APP_ENV') === 'local'), 'emails' => array_filter(array_map('trim', explode(',', env('ADMIN_PANEL_LOCAL_LOGIN_EMAILS', '')))), 'login_page' => LoginPage::class, ], ],];
You can use it in multiple panels so if you want to add a configuration for a new panel, you can add a new config key with the panel id. For example, you can add user
panel configuration like this:
use BetterFuturesStudio\FilamentLocalLogins\Filament\Pages\Auth\LoginPage; return [ 'panels' => [ 'admin' => [ 'enabled' => env('ADMIN_PANEL_LOCAL_LOGINS_ENABLED', env('APP_ENV') === 'local'), 'emails' => array_filter(array_map('trim', explode(',', env('ADMIN_PANEL_LOCAL_LOGIN_EMAILS', '')))), 'login_page' => LoginPage::class, ], 'user' => [ 'enabled' => env('USER_PANEL_LOCAL_LOGINS_ENABLED', env('APP_ENV') === 'local'), 'emails' => array_filter(array_map('trim', explode(',', env('USER_PANEL_LOCAL_LOGIN_EMAILS', '')))), 'login_page' => LoginPage::class, ], ],];
Optionally, you can publish the views using
php artisan vendor:publish --tag="filament-local-logins-views"
Set the ADMIN_PANEL_LOCAL_LOGIN_EMAILS
in your .env file to use this package.
In your .env file, add the following:
ADMIN_PANEL_LOCAL_LOGIN_EMAILS="free-user@example.com,paid-user@example.com" # Provide a comma-separated list of emails that can log in locally
If you wish to customize the default login page, you can modify the 'login_page' => LoginPage::class,
line to point to your desired class. After changing this, you will need to use the HasLocalLogins
trait in your custom login page class.
use BetterFuturesStudio\FilamentLocalLogins\Concerns\HasLocalLogins;use Filament\Pages\Auth\Login; class YourCustomLoginPage extends Login{ use HasLocalLogins;}
In your Filament panel provider, typically AdminPanelProvider
, you need to register the plugin:
use BetterFuturesStudio\FilamentLocalLogins\LocalLogins;...$panel->plugin(new LocalLogins());
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.