Plugins
Inactivity Guard
Gracefully auto-logout users from idle/inactive Filament sessions
Panel Authentication
Dark theme support
Yes
Multi language support
Yes
Compatible with the latest version
Supported versions: 3.x
Documentation

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

Guard your Filament dashboard from inactive sessions. Log users out after a predefined period of inactivity.

#Installation

You can install the package via composer:

composer require eightcedars/filament-inactivity-guard

You can publish the config file with:

php artisan vendor:publish --tag="filament-inactivity-guard-config"

This is the contents of the published config file:

return [
/**
* Determine if the plugin is enabled
*/
'enabled' => true,
 
/**
* How long to wait before an idle session is considered inactive.
* This value must be in seconds
*/
'inactivity_timeout' => Carbon::SECONDS_PER_MINUTE * 14,
 
/**
* How long to show an inactive session notice before logging the user out.
* This value must be in seconds
*
* Set this to null or 0 to disable the notice and log out immediately a user's session becomes inactive
*/
'notice_timeout' => 60,
 
/**
* This package watches for a list of browser events to determine if a user is still active.
* You may customise as desired.
*
* Ensure that the list is not empty
*/
'interaction_events' => ['mousemove', 'keydown', 'click', 'scroll'],
];

Optionally, you can publish the translation files using

php artisan vendor:publish --tag="filament-inactivity-guard-translations"

You can also publish the view files using

php artisan vendor:publish --tag="filament-inactivity-guard-views"

#Usage

Add the plugin class to your panel ServiceProvider

use EightCedars\FilamentInactivityGuard\FilamentInactivityGuardPlugin;
 
$panel
...
->plugin(FilamentInactivityGuardPlugin::make())
...

You may also configure the plugin behaviour in your service provider instead of publishing and editing the config file:

use EightCedars\FilamentInactivityGuard\FilamentInactivityGuardPlugin;use Illuminate\Support\Carbon;$panel
...
->plugin(
FilamentInactivityGuardPlugin::make()
->inactiveAfter(5*Carbon::SECONDS_PER_MINUTE)
->showNoticeFor(1* Carbon::SECONDS_PER_MINUTE)
// Or set to null to logout immediately after inactivity
->showNoticeFor(null)
 
->enabled(!app()->isLocal())
->keepActiveOn(['change', 'select', 'mousemove'], mergeWithDefaults: true),
)
...

#Screenshots:

#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.

EightCedars

EightCedars is primarily a backend engineer. The simplicity and reliability of the TALL stack makes the occasional times he does heavy frontend work enjoyable. He hopes to make regular contributions to the Filament ecosystem.

1
Plugins
18
Stars
Featured Plugins