Cloud Zoo Licensing Overview

Hello.
I have a plug-in in development and am looking for guidance on creating and issuing licenses on the cloud zoo.

I see that, as an issuer, I must implement four http callbacks, which appear to mainly serve to verify that a given license can be associated with a given user. I also see that I can call cloud zoo endpoints to put and delete licenses.

Is there a guide that outlines a sequence of how this would typically work? I’m looking to understand how to think about the creation of a license for my plug in for a user (likely on the plug-in website), what information I need collect to identify this user’s rhino account, and how/when the license is created and how/when it is associated with this user’s account on the cloud zoo.

FYI, I’m thinking about a month-by-month licensing system, single user licenses only.

Appreciate any guidance here!

Hi Kyle,

The primary purpose of having the issuer implement these callback URLs is to ensure that the issuer controls when, where and how the license key is used (in Cloud Zoo). It also gives Cloud Zoo a way to querying the details of a specific license key that was issued.

To dive a little deeper into that first part… Let’s say you issue a license to a customer and they add it to their user account/team in Cloud Zoo. When the license is added, your issuer server is involved in the process and can do a number of things:

  • If the issuers records show that the license is valid and unassigned, they can record the ID of the entity (i.e. user or team) and allow the license to be added.
  • If the issuers records show that the license is already assigned in Cloud Zoo (and they only allow the license to be added to a single entity) then they can prevent the license from being added.
  • If the license key expires, then the issuer can tell Cloud Zoo to add the license with an expiration date.
  • If the license is valid, but it has expired or it was manually deactivated (e.g. because of fraudulent use) then the issuer can prevent the license from being added.

The Cloud Zoo PUT/DELETE endpoints can be used to add/update/remove licenses in Cloud Zoo directly. Note, you can only manage licenses that you issued!

For example, you could use the PUT endpoint to update the expiration date on a license that was previously added to Cloud Zoo by your customer.

I hope this helps!

Thanks for this, Will - I think I’ve nearly got things set up and am coming around to understanding this system.

One other related question. I’m about to modify my plugin code to use the cloud zoo, and I need to access some sort of identifying information for an active license within my C# plugin. This could be information on the user (such as their user id or email), or information about the license itself (such as the serial number, key, etc). I understand there are some privacy / security concerns here.

For example, my plugin might offer slightly different features for “consumer” vs “enterprise” editions, which I could determine by looking at the license.

What is the best course of action?

Thanks!
Kyle