A minimal Electron v12 + React v17 app built with Parcel, showcasing how to implement an in-app software licensing portal with the following functionality:
- License key validation
- Device fingerprinting and activation
- Device management and deactivation
- Signature verification
- Auto-updates with electron-builder
First up, configure a couple application variables. The values below, embedded
within the app, are for our demo
account. Feel free to find/replace to your
own account's values.
# Your Keygen account's DER encoded Ed25519 verify key
KEYGEN_VERIFY_KEY="MCowBQYDK2VwAyEA6GAeSLaTg7pSAkX9B5cemD0G0ixCV8/YIwRgFHnO54g="
# Your Keygen account ID
KEYGEN_ACCOUNT_ID="1fddcec8-8dd3-4d8d-9b16-215cac0f9b52"
# Your Keygen product ID
KEYGEN_PRODUCT_ID="7071feff-b5f3-434a-83c1-3ab3f3592325"
Next, install dependencies with yarn
:
yarn
Then start the app in dev mode:
yarn dev
Visit your dashboard and create a new policy with the following attributes:
{
"authenticationStrategy": "LICENSE",
"requireFingerprintScope": true,
"maxMachines": 3,
"concurrent": false,
"floating": true,
"strict": true
}
The maxMachines
value can be whatever you prefer. The example should
also work for a non-floating policy.
To build the app:
yarn build
To run the latest build:
yarn start
To package and publish the app:
yarn dist
Reach out at support@keygen.sh if you have any questions or concerns!