Integration Code Samples

Ready-to-use code for integrating license validation into your applications

Select Language

JavaScript / Node.js

const crypto = require('crypto');
const os = require('os');

class LicenseValidator {
  constructor(apiUrl) {
    this.apiUrl = apiUrl.replace(/\/$/, '');
  }

  generateFingerprint() {
    const components = [
      os.hostname(),
      os.platform(),
      os.arch(),
      os.type(),
    ];
    const fingerprintString = components.join('|');
    return crypto.createHash('sha256')
      .update(fingerprintString)
      .digest('hex');
  }

  async validate(licenseKey, fingerprint = null) {
    const deviceFingerprint = fingerprint || this.generateFingerprint();

    try {
      const response = await fetch(`${this.apiUrl}/api/validate`, {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ licenseKey, fingerprint: deviceFingerprint }),
      });

      const data = await response.json();
      return {
        valid: data.valid,
        error: data.error || null,
        license: data.license || null,
        fingerprint: deviceFingerprint,
      };
    } catch (error) {
      return {
        valid: false,
        error: error.message,
        license: null,
        fingerprint: deviceFingerprint,
      };
    }
  }
}

// Usage
const validator = new LicenseValidator('https://licvalidator.com');
const result = await validator.validate('XXXX-XXXX-XXXX-XXXX');
console.log(result.valid ? '✓ Valid' : '✗ Invalid');

Installation

No dependencies required - uses Node.js built-in modules

Offline Validation Available

All code samples now support offline license validation! Validate licenses without internet connectivity using cryptographic signatures.

  • Use validateOffline() for local validation
  • Use validateWithFallback() for hybrid approach
  • Hardware-bound keys with HMAC-SHA256 signatures
  • Works in air-gapped environments

How It Works

1

Generate Device Fingerprint

Creates a unique identifier based on hardware and system properties

2

Send Validation Request

Sends license key and fingerprint to the validation API endpoint

3

Process Response

Returns validation status and license information or error details