eluki/license-client
最新稳定版本:1.0.0
Composer 安装命令:
composer require eluki/license-client
包简介
Pacote Cliente para gerenciamento e validação de licenças de software em Laravel
README 文档
README
License Server for Laravel
Valide, proteja e gerencie licenças de software em sua aplicação Laravel com facilidade e segurança.
Pacote Laravel para validação e uso de licenças de software emitidas pelo License Server.
O License Client garante que apenas clientes autorizados possam acessar funcionalidades protegidas, validando licenças, protegendo rotas e detectando adulterações.
📦 Instalação
Via Composer:
composer require eluki/license-client
Atenção:
É necessário instalar também o License Server para emitir e gerenciar as licenças, utilizando a mesmaAPP_KEYe a chave pública gerada no servidor (Gerador):
composer require eluki/license-server
🔧 Publicação & Migrations
Publicar arquivos de configuração e migrations:
php artisan vendor:publish --provider="LicenseClient\ClientServiceProvider"
Executar migrations do cliente:
php artisan migrate
Se já executou as migrations do License Server:
php artisan migrate --path=database/migrations/vendor/license-server
🛠 Registrar Middleware
Adicione o middleware no Kernel da aplicação (app/Http/Kernel.php) ou no Bootstrap/App para versões recentes do Laravel:
->withMiddleware(function (Middleware $middleware): void { //Adiconando middleware aqui $middleware->alias([ 'license.check' => \LicenseClient\Http\Middleware\LicenseCheck::class, ]); })
🔐 Protegendo Rotas
Inclua as rotas que precisam de validação de licença dentro do middleware:
use LicenseClient\Http\Controllers\LicenseController; Route::middleware('license.check')->group(function () { Route::get('/activate', [LicenseController::class, 'activateForm'])->name('license.activate.form'); Route::post('/activate', [LicenseController::class, 'activate'])->name('license.activate'); Route::get('/request-code', [LicenseController::class, 'requestCode'])->name('license.request'); Route::get('/import/upload-key', [LicenseController::class, 'formKeyPublic'])->name('import.uploadKey'); Route::post('/uploadkey', [LicenseController::class, 'uploadKey'])->name('client.uploadKey'); });
💡 Dica:
Coloque apenas as rotas que precisam de validação de licença dentro do middleware.
⚡ Funcionalidades
- Validação segura de licenças emitidas pelo License Server
- Middleware para proteção de rotas sensíveis
- Upload/importação de chave pública para validação offline
- Logs de tentativas de uso de licenças inválidas
- Integração transparente com o License Server
🗂 Estrutura do Projeto
license-client/
├── src/
│ ├── Helpers/
│ │ ├── globalVariables.php
│ │ ├── HardwareHelper.php
│ │ └── LicenseHelper.php
│ ├── Http/
│ │ ├── Controllers/
│ │ │ └── LicenseController.php
│ │ ├── Middleware/
│ │ │ ├── LicenseCheck.php
│ │ │ └── CheckLicense.php
│ │ └── ClientServiceProvider.php
│ ├── Models/
│ │ └── License.php
│ └── Services/
│ └── LicenseService.php
├── config/
│ └── license.php
├── database/
│ └── migrations
├── resources/
│ └── views
├── routes/
│ └── web.php
├── composer.json
└── README.md
📦 Ecossistema
- License Server → Gerencia e emite licenças
- License Client → Valida licenças no lado do cliente
🔐 Boas Práticas de Segurança
- Proteja rotas críticas com o middleware
license.check - Mantenha a chave pública segura e não a exponha
- Utilize logs para monitorar tentativas de uso de licenças inválidas
- Combine com autenticação Laravel para máxima segurança
📫 Contato
- Email: eluckimossi@gmail.com
- LinkedIn: eluki-baptista
- GitHub: Kimossii
NOTA
Fique à vontade para usar cada pacote com seu app separado e não se esqueça das chaves
- Utilize cada pacote (License Client e License Server) conforme a necessidade do seu projeto.
- Lembre-se de manter as chaves (APP_KEY e chave pública) seguras e consistentes entre os ambientes.
⚠️ Dica de Depuração:
Em caso de erro ou exceção, verifique os arquivos de log emlogs/ClientLicense.logoulogs/license_server.logpara mais detalhes.
Por padrão, ao ativar a licença, o sistema tenta redirecionar para a rota com nomeindex. Certifique-se de que essa rota exista ou ajuste conforme necessário.
📖 Documentação Completa
Para detalhes mais avançados, acesse a documentação em PDF:
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-09-12