This project is a fork of license-key-gen
The particularity of this library compared to license-key-gen is that the latter incorporates the concept of validity which allows the license to have an expiration date without being checked by a remote server.
- Generate license keys for given company details
This project has been imported from license-keygen-next in npm.org.
Generate a License Key and validate the license. This is typically used for software licensing (serial number).
npm install license-keygen-next
To create a license key - Enter the users information that your are able to recieve
This object can be any data you wish to tie the license to - format Object
var userInfo = {
name: '3MLogics',
country: 'Cameroon',
town: 'Douala',
poBox: '8388',
address: 'Akwa,
// other infos
}
Must include:
-
userInfo.name (string) - entity name
-
userInfo.country (string) - entity country
-
userInfo.town (string) - entity town
-
userInfo.zip (string) - entity zip
-
userInfo.address (string) - entity address
-
ProductCode (string) - product abbr name, can be any size
-
AppVersion (string) - optional if you want to tie the license to a version number
-
osType (string) - lock the license to a specific operating system supported: Windows: WIN, WIN7, WIN8,WIN10 Macintosh: OSX, OSX1, OSX2, OSX3, OSX4, OSX5, OSX6, OSX7, OSX8, OSX9, OSX10, OSX11, OSX12 Apple Mobile: IOS, IOS5, IOS6, IOS7, IOS8, IOS9,IOS10 Google Mobile: ANDROID, ANDROID2, ANDROID3, ANDROID4, ANDROID43, ANDROID44, ANDROID5, ANDROID6, ANDROID7 OTHER
-
validity (string) - license expiration date
var userLicense = {
info: userInfo,
validity: '2027-01-01',
prodCode:"LEN100120",
appVersion:"1.5",
osType:'IOS8'
}
const licenseKey = require('license-keygen-next')
Then run the following code to recieve the License for the client This function to be run ONLY for you to generate the license code for the client
const licenseKey = require('license-keygen-next')
var userInfo = {
name: '3MLogics',
country: 'Cameroon',
town: 'Douala',
poBox: '8388',
address: 'Akwa',
// other infos
}
var licenseData = {
info: userInfo,
validity: '2027-01-01',
prodCode:"LEN100120",
appVersion:"1.5",
osType:'IOS8'
}
try{
const license = licenseKey.createLicense(licenseData)
console.log(license)
}catch(err){
console.log(err)
}
if success returns
{ errorCode: 0, message: 'ok', license: '312220-0A0YW1-RBRCCX-20WDY4-XB1A71' }
if error, returns
{ errorCode: 1002, message: 'product code missing' }
On client side your application will pass the user information (Data Structure) and License Key:
const licenseKey = require('license-keygen-next')
var userInfo = {
name: '3MLogics',
country: 'Cameroon',
town: 'Douala',
poBox: '8388',
address: 'Akwa',
// other infos
}
var licenseData = {
info: userInfo,
prodCode: "LEN100120",
appVersion: "1.5",
osType: 'IOS8'
}
try{
const license = licenseKey.validateLicense(licenseData, "312220-0A0YW1-RBRCCX-20WDY4-XB1A71")
console.log(license)
}catch(err){
console.log(err)
}
if success returns
{ errorCode: 0, message: 'ok' }
if error, returns
{ errorCode: 1006, message: 'license not valid' }
- maintain (save, delete, update, read) licenses and user registration information
Tested in Chrome 53-54, Firefox 48-49, IE 11, Edge 14, Safari 9-10, Node.js 6-7, & PhantomJS 2.1.1.
Automated test runs are available.