Télécharger le MarkdownDocument original sur GitHub
Intégration des comptes et achats Licentivo
Ce guide décrit le fournisseur Licentivo actuel. Les marchands utilisant un autre système de licences peuvent choisir le fournisseur HTTP personnalisé ; ce mode n’appelle pas Licentivo et n’exige pas sa clé API.
Configuration par l’administrateur
- Créez les produits et politiques dans Licentivo.
- Configurez une clé de gestion en lecture/écriture dans Paramètres système → Licentivo de Launch. L’origine Licentivo est fixée à
https://www.licentivo.com. - Choisissez la politique de chaque version de forfait commercial Launch. Launch lit le produit, la version de politique et les paramètres d’affichage à l’exécution.
- Launch enregistre des connexions de confiance de compte distinctes pour sandbox/live sous son unique connexion de gestion Licentivo, avec sa clé publique de signature d’identité et l’origine du marchand.
La clé de gestion reste chiffrée sur le serveur du marchand. Les fichiers d’installation client contiennent uniquement les informations publiques de routage et les clés publiques de produit épinglées.
Séquence API côté serveur
Tous les chemins ci-dessous se trouvent sur Licentivo et sont appelés par Launch avec ses identifiants de gestion :
| Point d’accès | Usage |
|---|---|
GET /api/v1/products |
Découverte des produits |
GET /api/v1/policies, GET /api/v1/policies/{id} |
Découverte des politiques et vérification des versions |
GET /api/v1/launch/connections |
Rechercher les connexions de confiance par origine et environnement |
POST /api/v1/launch/connections, PUT /api/v1/launch/connections/{id} |
Enregistrer ou mettre à jour les clés publiques d’identité et le routage |
PUT /api/v1/launch/connections/{id}/plans/{plan} |
Enregistrer la version immuable du forfait commercial et son mappage vers la politique Licentivo |
POST /api/v1/launch/connections/{id}/events |
Soumettre un instantané d’achat absolu et versionné |
GET /api/v1/launch/connections/{id}/events/{event} |
Récupérer ou consulter le résultat d’origine |
POST /api/v1/launch/connections/{id}/events/{event}/retry |
Réessayer le même événement après examen |
POST /api/v1/launch/connections/{id}/session-revocations |
Notifier la révocation du compte ou de la session |
GET /api/v1/launch/connections/{id}/session-revocations/{event} |
Vérifier l’accusé de réception de révocation |
Launch enregistre les paiements vérifiés, la couverture payée immuable et la tâche sortante dans une même transaction locale. Un traitement envoie les dates absolues complètes d’achat et un ID d’événement stable. Seul un accusé applied confirme la synchronisation ; la réception HTTP seule ne suffit pas.
Les remboursements et annulations de paiement confirmées retirent la couverture de la commande correspondante. L’instantané complet suivant peut conserver un achat de base actif, raccourcir sa durée, rétablir un forfait inférieur ou terminer toute couverture. Les nouvelles tentatives n’ajoutent jamais un autre nombre de jours. Les anciens liens de licence émise utilisent des événements de migration explicites plutôt qu’un rejeu automatique des anciennes commandes de gestion.
Parcours de l’application client
- L’application se connecte à Launch avec une session de compte de bureau.
POST /api/v1/software/products/{id}/identitysur Launch renvoie une assertion d’identité valable au maximum 120 secondes, liée à la session réelle, au produit, à l’environnement, à l’émetteur et à l’audience.- Le paquet Launch la transmet en mémoire au SDK officiel, qui l’échange avec Licentivo via
POST /api/v1/launch/exchange. - Licentivo émet les identifiants d’appareil et l’autorisation signée. Le SDK contrôle chaque action protégée, la politique d’appareil, l’état d’exécution et les règles hors ligne.
Une connexion Launch, une commande payée ou un achat synchronisé ne constituent pas une autorisation d’exécution. L’ancien point d’accès /credential renvoie HTTP 410. La livraison d’un fournisseur personnalisé est une API distincte limitée au propriétaire et ne rétablit pas ce point d’accès.
Les listes d’appareils, quotas de libération, générations de liaison et récupération après déconnexion restent la responsabilité de Licentivo. Les révocations de session ou de compte utilisent des notifications durables et des accusés par environnement ; la révocation hors ligne reste limitée par les autorisations déjà émises par le SDK.
Voir l’intégration d’application, la frontière achat/compte, l’intégration manuelle et la validation. L’implémentation se trouve dans internal/adapters/licentivo/launch_bridge.go, internal/app/launch_trust.go, internal/app/purchase_sync.go et internal/app/identity.go.