← Volver a proyectos
Csrf Refresh
Automatic CSRF token refresh for Laravel applications to prevent token expiration on long-lived pages
#CSRF Refresh for Laravel
Automatic CSRF token refresh for Laravel applications to prevent token expiration on long-lived pages.
#Installation
Install the package via Composer:
composer require brunoabpinto/csrf-refresh
The package will automatically register its service provider via Laravel's package auto-discovery.
#Usage
Add the @csrfRefresh Blade directive to your layout file, typically in the <head> section or before the closing </body> tag:
<!DOCTYPE html> <html> <head> <meta name="csrf-token" content="{{ csrf_token() }}"> <!-- other head elements --> </head> <body> <!-- your content --> @csrfRefresh </body> </html>
#How It Works
- The package registers a route at
/csrf-token/refreshthat returns a fresh CSRF token - A JavaScript file is automatically published to
public/vendor/csrf-refresh/ - The script periodically fetches a new CSRF token and updates the
<meta name="csrf-token">element - The refresh interval is calculated based on your session lifetime configuration (refreshes 50 seconds before expiration)
#Publishing Assets
The JavaScript file is automatically published on first boot. To manually update the assets after a package update:
php artisan vendor:publish --tag=csrf-refresh-assets --force
#Requirements
- PHP 8.1 or higher
- Laravel 10.x or 11.x
#License
The MIT License (MIT). Please see License File for more information.