Skip to content

lispysnake/lispylicense

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lispylicense

Report License

Work in progress project to handle product license generation and management.

Our initial scope is to facilitate the pregeneration of 1,000 license keys and allocate them to Lispy Snake 2D Title Lifetime License holders.

Initial alpha

Scope for initial alpha is a CLI only tool (rather than fleshed server) that will allocate a UUID on the CLI, stash to DB and store it. In future we'll add job-based UUID allocation in a microservice.

Key Format

Nothing special here. We simply generate a UUID, and ensure it is completely unique due to the Birthday Problem. At that point it becomes a valid license key, not due to format, simply because its a key our DB will recognise.

Additionally the key will require knowledge of the email address to be 'valid'.

Proposal

Microservice to handle license key generation and allocation. Allocation is performed based on an ACCOUNT_ID field, to allow us to perform a future migration from the initial signup email to a hub account ID.

For now, this is a manual process of allocation, but in future we may work out something more automatic:

  • Acknowledge transaction begin
  • Send an email saying we're waiting for funds to clear
  • Acknowledge transaction completion
  • Allocate specific license key and email the user
  • Stash to DB

Security

To ensure minimal security risk, we recommend running the license server internally (behind the firewall). Then the account service, userfacing, can internally be updated with license state from this service.

License

Copyright © 2019 Lispy Snake, Ltd.

lispylicense is available under the terms of the Apache-2.0 license