A Laravel package for flexible license key management. Ideal for SaaS platforms, plugins, and systems that require license validation, assignment, and lifecycle management. This package allows you to generate, assign, validate, and manage license keys stored in your database. Includes Facade support for easy integration anywhere in your application.
Install the package via Composer:
composer require nanorocks/laravel-license-managerPublish and run the migrations:
php artisan vendor:publish --tag="license-manager-migrations"
php artisan migratePublish the configuration:
php artisan vendor:publish --tag="license-manager-config"Example config file (``):
return [
'key_length' => 16,
'default_expiration_days' => 30,
'table_name' => 'plugin_database_newsletter_licenses',
];use Nanorocks\LicenseManager\Services\LicenseService;
$service = app(LicenseService::class);
// Generate a license
$license = $service->createLicense([
'license_key' => 'TEST-1234',
'assigned_to' => 'user@example.com',
'expires_at' => now()->addDays(30),
]);
// Validate a license
$isValid = $service->validateLicense('TEST-1234');
// Assign a license to a user
$service->assignLicense('TEST-1234', 'anotheruser@example.com');
// Deactivate a license
$service->deactivateLicense('TEST-1234');use Nanorocks\LicenseManager\Facades\LicenseManager;
$isValid = LicenseManager::validateLicense('TEST-1234');
LicenseManager::assignLicense('TEST-1234', 'user@example.com');Generate a license via Artisan:
php artisan license:generate --assigned-to="user@example.com" --expires-in=30 --key-length=16Run the package tests:
composer testPlease see CHANGELOG for detailed information on changes and updates.
Please see CONTRIBUTING for contribution guidelines.
Report any security issues via our security policy.
This package is open-source under the MIT License. See LICENSE for details.
