Licenças

As licenças são o núcleo do LicenseChain. Cada licença representa uma permissão válida para um usuário usar seu software.

O que são licenças?

A Licença no LicenseChain é uma permissão digital que concede ao usuário o direito de usar seu software. Cada licença contém informações sobre o usuário, o plano que ele possui, quando ele expira e quais recursos ele pode acessar.

As licenças são criptograficamente seguras e podem ser verificadas em tempo real através da nossa API. Eles oferecem suporte a vários tipos de licença, incluindo licenças perpétuas, baseadas em assinatura e de avaliação.

Estrutura de licença

Propriedades principais

  • Chave de licença - Identificador único
  • Plano - Nível de licença (GRATUITO, PRO, BUSINESS, ENTERPRISE)
  • Tipo de verificação - Nível de verificação (básico, avançado, empresarial)
  • Status - Estado atual (ATIVO, EXPIRADO, SUSPENSO)
  • Expiração - Quando a licença expira

Informações do usuário

  • Emitido para - Nome do cliente ou empresa
  • E-mail - Endereço de e-mail do cliente
  • Características - Recursos e capacidades disponíveis
  • Metadados - Dados e tags personalizados

Tipos de licença

Licenças Perpétuas

Licenças de compra única que nunca expiram. Perfeito para aplicativos de desktop.

  • Sem data de validade
  • Pagamento único
  • Acesso vitalício
  • Perfeito para aplicativos de desktop

Licenças de assinatura

Licenças recorrentes que exigem renovação periódica. Ideal para aplicativos SaaS.

  • Renovação mensal/anual
  • Expiração automática
  • Faturamento recorrente
  • Perfeito para aplicativos SaaS

Licenças de teste

Licenças por tempo limitado para fins de avaliação. Ótimo para experimentar antes de comprar.

  • Duração limitada (7 a 30 dias)
  • Acesso completo aos recursos
  • Conversão automática
  • Perfeito para demonstrações

Verificação de licença

Verificação em tempo real

Verifique licenças em tempo real com tempos de resposta inferiores a 100 ms. Usar POST /v1/licenses/verify com corpo { "key": "LICENSE-KEY" }. Opcional hwuid (ou hardwareId) permite vinculação de hardware: quando a licença vincula dispositivos, o hwuid fornecido deve corresponder ou a resposta será valid: false com reason: "hardware_id_mismatch".

// License verification example
// Verify license key with client
// Check if license is valid and handle accordingly

Ligação de hardware (HWUID)

A ligação opcional de hardware/dispositivo (HWUID) limita uma licença a dispositivos específicos. Enviar hwuid em POST /v1/licenses/verify (por exemplo, do seu SDK getHardwareId()). Se a licença ainda não tiver um dispositivo vinculado, a primeira verificação bem-sucedida com um hwuid executará uma ligação de primeiro uso. Usar POST /v1/licenses/bind-hardware (autenticado) para vincular explicitamente, e POST /v1/licenses/validate-hardware para validar chave + ID de hardware. Todos os SDKs oficiais oferecem suporte opcional hwuid em verificar e usar HMAC-SHA256 com comparação em tempo constante para verificação de assinatura de webhook.

Token de declaração de licença (verificação offline)

Depois de um on-line POST /v1/licenses/verify, a API Core poderá retornar license_token (RS256JWT), license_token_expires_at, e license_jwks_uri quando as chaves de assinatura são configuradas na API. Armazene o token com segurança, verifique sua assinatura usando GET /v1/licenses/jwks, exigir token_use === "licensechain_license_v1", validar exp e (quando você emite licenças por aplicativo) que aud corresponde ao ID do seu aplicativo. Atualize chamando verify novamente antes de expirar; camada afeta o TTL (lc_vt: básico/avançado/personalizado). Veja o Guia de segurança para verificação assimétrica e cache JWKS.

Melhores Práticas

Segurança

  • Sempre verifique as licenças no seu servidor, não apenas no cliente
  • Use HTTPS para todas as comunicações de API
  • Implemente uma limitação de taxa adequada para evitar abusos
  • Registrar todas as tentativas de verificação de licença para auditoria
  • Use a impressão digital do dispositivo para impedir o compartilhamento de licenças

Desempenho

  • Resultados da verificação de licença em cache quando apropriado
  • Use a verificação offline para uma melhor experiência do usuário
  • Implemente o tratamento adequado de erros e a lógica de nova tentativa
  • Monitore o uso da API e configure alertas
  • Use operações em massa para gerenciamento de múltiplas licenças

Experiência do usuário

  • Forneça mensagens de erro claras para licenças inválidas
  • Implementar degradação graciosa para problemas de rede
  • Mostrar avisos de expiração de licença antes que expirem
  • Forneça caminhos fáceis de renovação de licença e atualização
  • Suporta vários tipos de licença para diferentes casos de uso