1.1.5 • Published 2 years ago

neo4j-keygen v1.1.5

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

neo4j-license-keys

Generate and validate neo4j software activation keys.

API part

Is currently deployed to AWS lambda using serverless.

Develop API

To develop and test locally:

cd serverless
sls offline --apiKey xxx

You can now make regular HTTP requests against http://localhost:5000/<endpoint>.
If the endpoint is private, add this header to the request: x-api-key: xxx.

Deploy API

To deploy, a serverless/secrets.production.json is required, check 1Password (search for neo4j-license-keys) as well as an AWS account.

cd serverless
npm run deploy-production

Requesting the API

Activation codes have fields that are treated as RegEx expressions, so that a code can be crafted which approves a broad range of users or features.

There are three main endpoints to be queried by GET requests:

/one-year-desktop-jwt
/no-registration-desktop-jwt
/custom-license-jwt

where the last one is protected since it's a generic endpoint able to generate keys for any feature.

Query parameters

Required:

  • sub - Subject = feature name. Usually neo4j-bloom or hidden-feature
  • pub - Publisher = usually Neo4j Inc

Optional:

  • ver - Feature/Application version - For what versions are this key valid?. Default: *
  • reg - Registrant name
  • email - Registrant Email
  • org - Organization
  • exp - Expiration date in Unix timestamp format (in seconds). Default: 1 year from request

Library part

Develop library

Run tests with npm run test.
Build with npm run build

Release library

Library releases are done in Team City: https://live.neo4j-build.io/project.html?projectId=Neo4jSoftwareLicenseKeys

Key formats

Current format JWT

Key valid for neo4j-bloom:

eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCJ9.eyJhVmVyIjoiMS4wLjAiLCJzdWIiOiJuZW80ai1ibG9vbSIsImZWZXIiOiIqIiwicmVnIjoiLioiLCJvcmciOiIuKiIsImVtYWlsIjoiLitALisiLCJwdWIiOiJuZW80aiIsImV4cCI6MTU4MjE5MTg1MCwiaXNzIjoibmVvNGouY29tIiwibmJmIjoxNTUwNjU1ODUwLCJpYXQiOjE1NTA2NTU4NTAsImp0aSI6IlMxN2QtanFCViJ9.lO-N3sFp3RaoYv35DDmOVUMhTepM3AryV-nY_IuX7Cs71oFFteKdvZ46zgMXN1j8aoV68xl3_cVfxxH4X2GT2ss5OqrNDN_E9KwHDQ-vTfxkmLkQwJCfZMMSjmIuIvs-DJ81ghGeLVRGQcHBT0JhF3pBprR2yG0oyWbQDWHQNPy7pvUTEIE4glZZGPu3ACZS_0vducvTxQIKRISHUt7Y6H6gyhOTNddr8-TOosTH9a9VeadU1xjg-5NAtnoKGIbRED4cAtAU8AhynNy1nJDSKiqisJVBjIpMxe8eSJhmDEEAWF3pUaJCPXhf6qxOohUYvgNXIeXVltE1g04n67QxtA

Expand it on https://jwt.io

Available field in JWT

  • iss - Issuer, who created and signed this token
  • sub - Feature name to activate
  • pub - Publisher of the feature
  • exp - Expiration date, in seconds since UNIX epoch
  • reg - Full name of registrant
  • org - Organization of registrant
  • email - Email address of registrant
  • aVer - Feature version range to activate, semver range
  • fVer - Feature version range to work with, semver range
  • distributionUrl - URL where you can download the distribution
  • scope - Working scope for given feature
  • custom - Object for custom feature options

Custom options list

bloom.LicenseAmount

Scope list

  • trial
  • desktop
  • server-seat
  • cloud
  • universal (valid for use in any environment)
  • developer
  • test
  • production

Deprecated format

This format is not used anymore.

########################################
# NEO4J SOFTWARE FEATURE ACTIVATION CODE
activationVersion: 1.0.0
featureName: neo4j-desktop
featureVersion: /1\.*/
registrant: Andreas Kollegger
organization: /.*/
email: andreas@neo4j.com
expirationDate: '2018-12-07T15:28:27.901Z'
signature: >-
  94b803ff9e7102423866c24dc21b48a59ae214ed46428ed83751fe54c7bf3275293c32cf8bb182146d99b3f51051f13a24318ae4dec050bc9a4549607e28bbb989a0d6ad07157ff62011234a2ba7851e41d7edb983cedf138600c4ad9d207b43448359b3f8f9dd4a37bd753dbc848eead586fd2a4dca2dba06735bd79bd29cdaa81946e6b011f2247e3f7c0f605a8ac4adde98c78e86254e6fa64134846a1170bc8bbb180f1c0a3e1cf62c4d05c154bca1f166fd2b1980aa36d5bf32ec02e56cd2cd4eeb90e0d4561c5bad4d04347fe357421e4b4aa13135ea6b1298a69bf6c2b9fa21d108f377cda7064e0eaeb4a33e7268ac9c556b7070c05871071e97dfbf