tapp / filament-authentication-log
Filament authentication log plugin.
Installs: 54 344
Dependents: 3
Suggesters: 0
Security: 0
Stars: 43
Watchers: 4
Forks: 20
Open Issues: 3
Requires
- php: ^8.2
- filament/filament: ^3.0-stable
- rappasoft/laravel-authentication-log: ^5.0
- spatie/laravel-package-tools: ^1.9
Requires (Dev)
- larastan/larastan: ^2.9||^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^10.0.0||^9.0.0||^8.22.0
- pestphp/pest: ^3.7
- pestphp/pest-plugin-arch: ^3.0||^2.7
- pestphp/pest-plugin-laravel: ^3.0||^2.3
- phpstan/extension-installer: ^1.3||^2.0
- phpstan/phpstan-deprecation-rules: ^1.1||^2.0
- phpstan/phpstan-phpunit: ^1.3||^2.0
- spatie/laravel-ray: ^1.35
README
A Filament plugin for Laravel Authentication Log package.
This package provides a Filament resource and a relation manager for Laravel Authentication Log.
Requirements
- PHP 8.1+
- Filament 3
Dependencies
Version Compatibility
Filament | Laravel | Filament Authentication Log |
---|---|---|
2.x | 9.x/10.x | 2.x |
3.x | 10.x/11.x | 3.0.x/3.1.x |
Installation
You can install the plugin via Composer:
composer require tapp/filament-authentication-log:"^3.1"
Follow the configuration instruction for laravel-authentication-log
- Publish and run the migrations
- Add the
AuthenticationLoggable
andNotifiable
traits to yourUser
model
Note For Filament 2.x check the 2.x branch
You can publish the translations files with:
php artisan vendor:publish --tag="filament-authentication-log-translations"
You can publish the config file with:
php artisan vendor:publish --tag="filament-authentication-log-config"
Using the Resource
Add this plugin to a panel in the plugins()
method.
E.g., in app/Providers/Filament/AdminPanelProvider.php
:
use Tapp\FilamentAuthenticationLog\FilamentAuthenticationLogPlugin; public function panel(Panel $panel): Panel { return $panel // ... ->plugins([ FilamentAuthenticationLogPlugin::make() // ->panelName('admin') // Optional: specify the panel name if needed ]); }
That's it! Now you can see the Authentication Log resource on left sidebar.
This customization ->panelName('admin')
allows for better organization if you have multiple panels, such as Developer and Admin panels, where the FilamentAuthenticationLogPlugin
is used in one panel but the user resource is available only in another panel.
Resource appearance
Using the Relation Manager
Add the Tapp\FilamentAuthenticationLog\RelationManagers\
to the getRelations()
method on the Filament resource where the model uses the AuthenticationLoggable
trait.
E.g. in App\Filament\Resources\UserResource.php
:
use Tapp\FilamentAuthenticationLog\RelationManagers\AuthenticationLogsRelationManager; public static function getRelations(): array { return [ AuthenticationLogsRelationManager::class, // ... ]; }
Relation manager appearance
Displaying Authenticatable Names
To display the actual name of the authenticatable user instead of the class name, you can configure the plugin to show a specific field. By default, it will use the name
field if available. If your model does not have a name
column, you can add a custom attribute:
In your model:
public function getNameAttribute(): string { return trim($this->first_name . ' ' . $this->last_name); }
Configuration
To specify a custom field to display for the authenticatable user, update the config/filament-authentication-log.php
configuration file:
'authenticatable' => [ 'field-to-display' => 'name', // Change 'name' to your custom field if needed ],
Custom User Resource
If you have a custom user resource in your application that is not automatically detected by the package, you can specify it in your configuration file. This is particularly useful when:
- Your user resource has a non-standard name or location
- You have multiple panels and the default user resource detection fails
- You want to link authentication logs to a specific user resource implementation
To configure a custom user resource, add this to your config/filament-authentication-log.php
file:
'user-resource' => \App\Filament\Resources\YourCustomUserResource::class,
This configuration allows the authentication log to properly generate edit links to your user records on resource, even when the default user resource detection mechanism cannot find them.
License
The MIT License (MIT). Please see License File for more information.