Documentation IndexFetch the complete documentation index at: /llms.txtUse this file to discover all available pages before exploring further.
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Validate SunLicense keys from Node.js with axios or in the browser with fetch, then add Express.js middleware or a React component and handle CORS issues.
const axios = require('axios'); class SunLicenseValidator { constructor(licenseKey, productId, version = '1.0.0') { this.licenseKey = licenseKey; this.productId = productId; this.version = version; this.apiUrl = 'YOUR_API_URL/api/v1/validate'; } async validate() { try { const payload = { licenseKey: this.licenseKey, productId: this.productId, productVersion: this.version, hwid: this.getHWID(), // Optional operatingSystem: process.platform, operatingSystemVersion: process.version }; const response = await axios.post(this.apiUrl, payload, { headers: { 'Content-Type': 'application/json' } }); return response.status === 200; } catch (error) { throw new Error(`License validation failed: ${error.message}`); } } getHWID() { // Implement your HWID generation logic here return 'YOUR-HWID'; } } // Usage example const validator = new SunLicenseValidator('YOUR-LICENSE-KEY', YOUR_PRODUCT_ID); validator.validate() .then(() => console.log('License valid!')) .catch(error => console.error(error));
class SunLicenseValidator { constructor(licenseKey, productId, version = '1.0.0') { this.licenseKey = licenseKey; this.productId = productId; this.version = version; this.apiUrl = 'YOUR_API_URL/api/v1/validate'; } async validate() { try { const payload = { licenseKey: this.licenseKey, productId: this.productId, productVersion: this.version, operatingSystem: navigator.platform, operatingSystemVersion: navigator.userAgent }; const response = await fetch(this.apiUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } return true; } catch (error) { throw new Error(`License validation failed: ${error.message}`); } } }
function licensingMiddleware(licenseKey, productId) { const validator = new SunLicenseValidator(licenseKey, productId); return async (req, res, next) => { try { await validator.validate(); next(); } catch (error) { res.status(403).json({ error: 'Invalid license' }); } }; } // Usage in Express app app.use(licensingMiddleware('YOUR-LICENSE-KEY', YOUR_PRODUCT_ID));
import React, { useState, useEffect } from 'react'; function LicenseProtectedApp({ licenseKey, productId, children }) { const [isValid, setIsValid] = useState(false); const [error, setError] = useState(null); useEffect(() => { const validator = new SunLicenseValidator(licenseKey, productId); validator.validate() .then(() => setIsValid(true)) .catch(err => setError(err.message)); }, [licenseKey, productId]); if (error) return <div>License Error: {error}</div>; if (!isValid) return <div>Validating license...</div>; return children; }