Looking to hire Laravel developers? Try LaraJobs

laravel-license-manager maintained by nanorocks

Description
A Laravel package for flexible license key management. Ideal for SaaS platforms, plugins, and systems that require license validation, assignment, and lifecycle management.
Author
Last update
2026/05/16 17:36 (dev-main)
License
Downloads
87

Comments
comments powered by Disqus

Laravel License Manager

Laravel License Manager

Laravel PHP License Latest Stable Version

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.

Installation

Install the package via Composer:

composer require nanorocks/laravel-license-manager

Publish and run the migrations:

php artisan vendor:publish --tag="license-manager-migrations"
php artisan migrate

Publish 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',
];

Usage

Using the Service Class

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');

Using the Facade

use Nanorocks\LicenseManager\Facades\LicenseManager;

$isValid = LicenseManager::validateLicense('TEST-1234');
LicenseManager::assignLicense('TEST-1234', 'user@example.com');

Artisan Command

Generate a license via Artisan:

php artisan license:generate --assigned-to="user@example.com" --expires-in=30 --key-length=16

Testing

Run the package tests:

composer test

Changelog

Please see CHANGELOG for detailed information on changes and updates.

Contributing

Please see CONTRIBUTING for contribution guidelines.

Security Vulnerabilities

Report any security issues via our security policy.

Credits

License

This package is open-source under the MIT License. See LICENSE for details.