定制 eluki/license-client 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

Latest Stable Version
License

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 mesma APP_KEY e 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

🔐 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

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 em logs/ClientLicense.log ou logs/license_server.log para mais detalhes.
Por padrão, ao ativar a licença, o sistema tenta redirecionar para a rota com nome index. 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:

👉 Abrir Documentação

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-09-12