Jump to content
Mark
 Share


IP.Nexus 1.2 Dev Update: License Keys

IP.Nexus 1.1 was released at the beginning of this month bringing a number of new features such as product options, reporting tools, advertisement system improvements and more.
Already we have started work on IP.Nexus 1.2 - while release is still a while away, we'll be posting blog entries during development to show you the upcoming new features.


The first new feature in IP.Nexus 1.2 that we wanted to talk about is a license key system.
Many users are using IP.Nexus to sell digital products, and currently there is no way to keep track of where your products are being used. In IP.Nexus 1.2, you will have the ability to generate license keys and use an API to call back to Nexus to activate and check license keys.


Generating License Keys

When creating a product, there are now a number of options regarding how to handle license keys:


License keys are by default generated either as a random md5 hash or several blocks of random letters and numbers - developers can also upload a simple PHP file to a certain folder to add more methods if you have your own way of generating license keys.

You can also choose an "identifier" for the license keys. Identifiers are provided to the API when activating the license key (for example, your program could ask users for their license key and their name or Email address) - as an additional security measure. Identifiers can be the customer's name, Email address or any custom field with the purchase. This is of course optional.


Managing License Keys

In the Admin CP, there is a new box on the purchase screen which displays information about the license key:



The grey box shows you the license key, when it was generated and it's current status and the table below shows where it's being used (you can set how many times a license key can be used).

The dropdown menu at the top with the other buttons contains options to reset (which will clear uses and generate a new key) or cancel (which will make API calls to check the license key fail) the key.

Of course, all actions related to license keys is also logged in the customer history page.


Users can see their license keys in the client area:



Using the API

The API uses XML-RPC to send and retrieve data. Full developer documentation will be available when Nexus 1.2 is released, but to give you an overview, there are four methods:

activate
This is what you call when the user enters their license key, for example, on an installation screen. You send Nexus the license key, the identifier (if necessary) and any additional information you want to save (for example, the version number). If the license key is invalid, or the key has already been used the maximum number of times, Nexus will return an error - otherwise, Nexus will log the IP address used to activate and the additional information you sent and return a success message along with the "usage id" which is an ID number given to that installation for that license key.

check
This is used to check that a license key is still valid, for example, you may call this periodically from your application. You send Nexus the license key, the identifier and the usage ID (returned from the activate method) and Nexus will return the status of the license key (if it's active or cancelled).

info
This is used to fetch information about a license key. You send Nexus the license key and the identifier and Nexus returns data about the key (when it was generated, how many times it's been used, etc.) the purchase associated with it (it's ID number, when it expires, all custom fields, etc.) and information about any child purchases (that is, purchases associated with the purchase the license key is associated with.

updateExtra
This is used to update the additional information send in the activate method. You send Nexus the license key, the identifier, usage ID and new information and Nexus will update the information locally and return a success message.

 Share

Comments

Recommended Comments

We use our own system of program registration keys. It would be good to be able to just upload a list of keys and have the system iterate through them, distributing one for each sale.

Also, you should expect that any online registration API you create is going to be cracked. They'll simply find the bits in the executable that request information and change them.

Link to comment
Share on other sites

[quote name='SuperNoob' timestamp='1294998313']
We use our own system of program registration keys. It would be good to be able to just upload a list of keys and have the system iterate through them, distributing one for each sale.Also, you should expect that any online registration API you create is going to be cracked. They'll simply find the bits in the executable that request information and change them.


Thanks, we are aware how that works :)

Presumably the code one uses to implement the API calls will be encoded, regardless, that would be the third-party application's responsibility. Remember we're talking about IP.Nexus' ability to act as a license key server, nothing to do with the license key system in our products :)

Link to comment
Share on other sites

[quote name='IPBSupport.de' timestamp='1295020632']
Sounds great.Is there a way to upload / use a "Key-List-File"?For example, i have a .txt File with Keys and would use the Keys from the .txt File.


MySQL can import .csv files ;)

Link to comment
Share on other sites

I have several thousand users with registration keys for multiple products. I am cautious to rely on something new like this, but for complete integration I would need to be able to enter their keys into their account for each product they own. So I presume there is some way to add that information to existing users without requiring a new purchase.

Link to comment
Share on other sites



Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...