Licenses

Las licencias son el núcleo de LicenseChain. Cada licencia representa un permiso válido para que un usuario utilice su software.

¿Qué son las Licencias?

A License en LicenseChain hay un permiso digital que otorga al usuario el derecho a usar su software. Cada licencia contiene información sobre el usuario, el plan que tiene, cuándo vence y a qué funciones puede acceder.

Las licencias son criptográficamente seguras y se pueden verificar en tiempo real a través de nuestra API. Admiten varios tipos de licencias, incluidas licencias perpetuas, basadas en suscripción y de prueba.

Estructura de licencia

Propiedades principales

  • Clave de licencia - Identificador único
  • Plan - Nivel de licencia (GRATIS, PRO, BUSINESS, ENTERPRISE)
  • Tipo de verificación - Nivel de verificación (básico, avanzado, empresarial)
  • Status - Estado actual (ACTIVO, EXPIRADO, SUSPENDIDO)
  • Expiration - Cuando caduque la licencia

Información del usuario

  • Emitido a - Nombre del cliente o empresa
  • Email - Dirección de correo electrónico del cliente
  • Features - Funciones y capacidades disponibles
  • Metadata - Datos y etiquetas personalizados

Tipos de licencia

Licencias perpetuas

Licencias de compra única que nunca caducan. Perfecto para aplicaciones de escritorio.

  • Sin fecha de vencimiento
  • Pago único
  • Acceso de por vida
  • Perfecto para aplicaciones de escritorio

Licencias de suscripción

Licencias recurrentes que requieren renovación periódica. Ideal para aplicaciones SaaS.

  • Renovación mensual/anual
  • Caducidad automática
  • Facturación recurrente
  • Perfecto para aplicaciones SaaS

Licencias de prueba

Licencias por tiempo limitado para fines de evaluación. Genial para probar antes de comprar.

  • Duración limitada (7-30 días)
  • Acceso completo a las funciones
  • Conversión automática
  • Perfecto para demostraciones

Verificación de licencia

Verificación en tiempo real

Verifique las licencias en tiempo real con tiempos de respuesta inferiores a 100 ms. Usar POST /v1/licenses/verify con cuerpo { "key": "LICENSE-KEY" }. Opcional hwuid (or hardwareId) habilita la vinculación de hardware: cuando la licencia tiene dispositivos vinculados, el hwuid proporcionado debe coincidir o la respuesta es valid: false with reason: "hardware_id_mismatch".

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

Enlace de hardware (HWUID)

El enlace opcional de hardware/dispositivo (HWUID) limita una licencia a dispositivos específicos. Enviar hwuid in POST /v1/licenses/verify (por ejemplo, desde su SDK getHardwareId()). Si la licencia aún no tiene ningún dispositivo vinculado, la primera verificación exitosa con un hwuid realiza un vínculo de primer uso. Usar POST /v1/licenses/bind-hardware (autenticado) para vincularse explícitamente, y POST /v1/licenses/validate-hardware para validar clave + ID de hardware. Todos los SDK oficiales son compatibles opcionalmente hwuid en verificar y utilizar HMAC-SHA256 con comparación de tiempo constante para la verificación de la firma del webhook.

Token de afirmación de licencia (verificación fuera de línea)

Después de un en línea POST /v1/licenses/verify, la API principal puede devolver license_token (RS256 JWT), license_token_expires_at, y license_jwks_uri cuando las claves de firma están configuradas en la API. Guarde el token de forma segura, verifique su firma usando GET /v1/licenses/jwks, requerir token_use === "licensechain_license_v1", validar exp y (cuando emites licencias por aplicación) que aud coincide con la identificación de su aplicación. Actualice llamando a verificar nuevamente antes de que expire; El nivel afecta a TTL (lc_vt: básico/avanzado/personalizado). Ver el guía de seguridad para verificación asimétrica y almacenamiento en caché JWKS.

Mejores prácticas

Security

  • Verifique siempre las licencias en su servidor, no solo en el cliente
  • Utilice HTTPS para todas las comunicaciones API
  • Implementar una limitación de velocidad adecuada para evitar abusos
  • Registre todos los intentos de verificación de licencia para auditoría
  • Utilice la huella digital del dispositivo para evitar compartir licencias

Performance

  • Resultados de verificación de licencia de caché cuando corresponda
  • Utilice la verificación sin conexión para una mejor experiencia de usuario
  • Implementar un manejo de errores adecuado y una lógica de reintento
  • Supervise el uso de API y configure alertas
  • Utilice operaciones masivas para la gestión de múltiples licencias

Experiencia de usuario

  • Proporcionar mensajes de error claros para licencias no válidas
  • Implementar una degradación elegante para problemas de red
  • Mostrar advertencias de vencimiento de licencia antes de que caduquen
  • Proporcionar rutas sencillas de renovación y actualización de licencias
  • Admite múltiples tipos de licencia para diferentes casos de uso