Overview
Licensing
Questa pagina spiega il licensing dal punto di vista utente finale: cosa serve, come ottenere la licenza e come applicarla.
Come ottenere una licenza
Consulta i piani, le feature incluse per ciascun tier (Developer / Professional / Software House) e procedi all'acquisto sul sito pubblico:
- Pricing e piani WUIC — wuic-framework.com/pricing
- Contatti commerciali — la prova non richiede licenza: senza licenza il framework gira in modalita' Trial (20 record per query)
- Homepage WUIC
Dopo l'acquisto riceverai una mail con license-payload + license-signature da installare come descritto nella "Procedura utente finale" qui sotto.
Come funziona
- La licenza e valida solo se:
- firma corretta.
machineFingerprintdel server corrente presente nella listamachineFingerprintsdel payload firmato.- licenza non scaduta (
expiryUtc). Una licenza che scade mentre il server e' acceso smette di valere entro 5 minuti (la validazione resta in cache per quel tempo), senza bisogno di riavvii. - manutenzione: la versione installata non e' piu' recente della fine manutenzione (
maintenanceExpiryUtc). Se la build e' successiva, la licenza non e' valida (maintenance_expired), anche se non e' scaduta. - Se la licenza non e valida, la lettura dati (
getFlatRecordData) viene limitata a massimo 20 record. Inoltre l'hook hostcustomizeSelectviene bypassato (non invocato).
Dove trovo il machineFingerprint
Endpoint backend:
GET /api/Meta/LicenseStatus→ campomachineFingerprint(sempre disponibile, anche senza licenza).- Durante il first-run lo espone anche
GET /api/Meta/FirstRunStatus. - Host la cui identita' cambia a ogni avvio (es. container con machine-id rigenerato): l'impronta si fissa con la variabile d'ambiente
WUIC_LICENSE_MACHINE_FINGERPRINT, impostata sull'host. Non esiste un equivalente negli appsettings: chi puo' modificare la configurazione dall'applicazione non deve poter far risultare il server come un'altra macchina.
Procedura utente finale
1. Recupera machineFingerprint dal tuo host.
2. Invia il valore al fornitore/licensor.
3. Ricevi i valori licenza:
license-payloadlicense-signature
4. Incolla i valori dall'interfaccia: Amministrazione > Editor AppSettings, sezione
License (campi License email, License payload, License signature), poi salva.
La chiave pubblica che verifica la firma e' incorporata nel framework: non si configura
(l'editor non ha piu' il campo Public key (PEM) e license-public-key-pem negli appsettings e' ignorato). In alternativa si possono scrivere a mano nella sezione
AppSettings del file appsettings.{Environment}.json dell'host in esecuzione.
L'editor AppSettings richiede una sessione con ruolo superadmin, verificato lato server.
5. Verifica lo stato licenza:
- da API:
GET /api/Meta/LicenseStatus, attesolicenseValid = true; - oppure dalla pagina stessa, che rilegge la licenza subito dopo il salvataggio.
Riavviare il backend non serve, se passi dall'editor. Salvando license-payload /
license-signature dall'AppSettings Editor il backend ricarica da se' il servizio di
validazione, e la licenza vale dalla richiesta successiva. Il riavvio serve solo nell'altro
caso, quando i valori vengono scritti a mano nel file: quello viene riletto all'avvio.
Licenza multi-macchina
Un'unica licenza puo autorizzare piu macchine includendo piu valori in machineFingerprints.
Troubleshooting rapido
licenseReason = invalid_signature:- payload/firma non coerenti tra loro (copiati incompleti o modificati) oppure firmati con una chiave diversa da quella del fornitore.
licenseReason = machine_fingerprint_not_authorized:- il fingerprint della macchina corrente non e presente nella licenza ricevuta.
licenseReason = machine_fingerprint_missing:- il runtime non riesce a calcolare il fingerprint locale.
licenseReason = license_expired:- la licenza e scaduta, richiedi rinnovo.
licenseReason = maintenance_expired:- la manutenzione e' terminata prima della data di build della versione installata: installa una versione rilasciata entro la fine della manutenzione oppure rinnova la manutenzione.
Screenshot
