Licences

Les licences sont au cœur de LicenseChain. Chaque licence représente une autorisation valide pour un utilisateur d'utiliser votre logiciel.

Que sont les licences ?

A Licence dans LicenseChain est une autorisation numérique qui accorde à un utilisateur le droit d'utiliser votre logiciel. Chaque licence contient des informations sur l'utilisateur, le forfait dont il dispose, sa date d'expiration et les fonctionnalités auxquelles il peut accéder.

Les licences sont cryptographiquement sécurisées et peuvent être vérifiées en temps réel via notre API. Ils prennent en charge différents types de licences, notamment les licences perpétuelles, par abonnement et d'essai.

Structure des licences

Propriétés principales

  • Clé de licence - Identifiant unique
  • Plan - Niveau de licence (FREE, PRO, BUSINESS, ENTERPRISE)
  • Type de vérification - Niveau de vérification (de base, avancé, entreprise)
  • Statut - État actuel (ACTIF, EXPIRÉ, SUSPENDU)
  • Expiration - À l'expiration de la licence

Informations utilisateur

  • Délivré à - Nom du client ou de l'entreprise
  • E-mail - Adresse email du client
  • Caractéristiques - Fonctionnalités et capacités disponibles
  • Métadonnées - Données et balises personnalisées

Types de licences

Licences perpétuelles

Licences à achat unique qui n’expirent jamais. Parfait pour les applications de bureau.

  • Pas de date d'expiration
  • Paiement unique
  • Accès à vie
  • Parfait pour les applications de bureau

Licences d'abonnement

Licences récurrentes qui nécessitent un renouvellement périodique. Idéal pour les applications SaaS.

  • Renouvellement mensuel/annuel
  • Expiration automatique
  • Facturation récurrente
  • Parfait pour les applications SaaS

Licences d'essai

Licences limitées dans le temps à des fins d’évaluation. Idéal pour essayer avant d'acheter.

  • Durée limitée (7-30 jours)
  • Accès complet aux fonctionnalités
  • Conversion automatique
  • Parfait pour les démos

Vérification de la licence

Vérification en temps réel

Vérifiez les licences en temps réel avec des temps de réponse inférieurs à 100 ms. Utiliser POST /v1/licenses/verify avec corps { "key": "LICENSE-KEY" }. Facultatif hwuid (ou hardwareId) active la liaison matérielle : lorsque la licence est liée à un ou plusieurs appareils, le hwuid fourni doit correspondre ou la réponse est valid: false avec reason: "hardware_id_mismatch".

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

Liaison matérielle (HWUID)

La liaison facultative matériel/périphérique (HWUID) limite une licence à des périphériques spécifiques. Envoyer hwuid dans POST /v1/licenses/verify (par exemple à partir de votre SDK getHardwareId()). Si la licence n'a pas encore de périphérique lié, la première vérification réussie avec un hwuid effectue une liaison de première utilisation. Utiliser POST /v1/licenses/bind-hardware (authentifié) pour lier explicitement, et POST /v1/licenses/validate-hardware pour valider la clé + l'ID matériel. Tous les SDK officiels prennent en charge en option hwuid vérifiez et utilisez HMAC-SHA256 avec comparaison en temps constant pour la vérification de la signature du webhook.

Jeton d'assertion de licence (vérification hors ligne)

Après une mise en ligne POST /v1/licenses/verify, l'API Core peut renvoyer license_token (RS256JWT), license_token_expires_at, et license_jwks_uri lorsque les clés de signature sont configurées sur l'API. Stockez le jeton en toute sécurité, vérifiez sa signature à l'aide GET /v1/licenses/jwks, exiger token_use === "licensechain_license_v1", validez exp et (lorsque vous émettez des licences par application) que aud correspond à l'identifiant de votre application. Actualisez en appelant à nouveau verify avant l'expiration ; le niveau affecte la durée de vie (lc_vt: basique / avancé / personnalisé). Voir le Guide de sécurité pour la vérification asymétrique et la mise en cache JWKS.

Meilleures pratiques

Sécurité

  • Vérifiez toujours les licences sur votre serveur, pas seulement sur le client
  • Utilisez HTTPS pour toutes les communications API
  • Mettre en œuvre une limitation de débit appropriée pour éviter les abus
  • Enregistrez toutes les tentatives de vérification de licence pour l'audit
  • Utiliser les empreintes digitales de l'appareil pour empêcher le partage de licence

Performance

  • Mettre en cache les résultats de la vérification de la licence, le cas échéant
  • Utilisez la vérification hors ligne pour une meilleure expérience utilisateur
  • Implémenter une gestion appropriée des erreurs et une logique de nouvelle tentative
  • Surveiller l'utilisation de l'API et configurer des alertes
  • Utiliser des opérations groupées pour la gestion de plusieurs licences

Expérience utilisateur

  • Fournir des messages d'erreur clairs pour les licences non valides
  • Implémenter une dégradation progressive pour les problèmes de réseau
  • Afficher les avertissements d'expiration de licence avant leur expiration
  • Fournir des chemins faciles de renouvellement et de mise à niveau de licence
  • Prise en charge de plusieurs types de licences pour différents cas d'utilisation