Simple License Server

Install

cargo install license-server

Usage

CLI

``` license-server 0.1.0 Simple license server

USAGE: license-server.exe

FLAGS: -h, --help Prints help information -V, --version Prints version information

SUBCOMMANDS: generate Generate a license help Prints this message or the help of the given subcommand(s) serve Start the license server validate Validate a license `` 1. Set HMAC_SECRET env variable to your signing secret string or pass it via-sparameter 2. Generate a license:license-server generate -f 2000-1-1 -u 2030-1-1 -M K=V 3. Validate a licenselicense-server validate eyJsaWNlbnNlIjp7ImlkIjoiYmYwODAxNDctMTUyYS00M2M4LTg1OTMtMjI0OTA4ZTE1MzgwIiwibWV0YSI6eyJLIjoiViJ9LCJ2YWxpZF9mcm9tIjoiMjAwMC0wMS0wMSIsInZhbGlkX3VudGlsIjoiMjAzMC 0wMS0wMSJ9LCJzaWduYXR1cmUiOiJkMzFmOTM3OWM0OTZmZGM4NDMwZmIwNmZiYmY0ZTcwN2I1NGMwZGE4OTM5MjBlOGY1MDU4YmE1ODJmM2E5MDQzIn0= 4. Set LICENSE_API_KEY env variable to some secret string that will be used to securegenerateendpoint or pass it via-kparameter 5. Start a serverlicense-server serve -p 3000`

API

Generate a license POST /generate

Input format: json { "valid_from": "2000-1-1", "valid_until": "2010-1-2", "meta": { "additional_data": "test", "user": "test user" } }

Output format: json {"result":"eyJsaWNlbnNlIjp7ImlkIjoiYmYwODAxNDctMTUyYS00M2M4LTg1OTMtMjI0OTA4ZTE1MzgwIiwibWV0YSI6eyJLIjoiViJ9LCJ2YWxpZF9mcm9tIjoiMjAwMC0wMS0wMSIsInZhbGlkX3VudGlsIjoiMjAzMC0wMS0wMSJ9LCJzaWduYXR1cmUiOiJkMzFmOTM3OWM0OTZmZGM4NDMwZmIwNmZiYmY0ZTcwN2I1NGMwZGE4OTM5MjBlOGY1MDU4YmE1ODJmM2E5MDQzIn0="}

Validate a license POST /validate

Input format:

json { "license": { "id": "123-123123-123", "valid_from": "2000-1-1", "valid_until": "2010-1-2", "meta": { "additional_data": "test", "user": "test user" } }, "signature": ".........." }

Results in 200 for valid license or 400 for invalid