Hi, we are evaluating Cryptlex for our web application. It is written in Java and is deployed in the cloud. Which means that
- we have only one or two application instances running, each on a single (virtual) machine or Docker container
- we need named licenses for our users, but all our user sessions are running simultaneously on the same application instance
Is this possible with Cryptlex ? How should we set up the licenses ? Do we need separate license keys for each user (I guess). Shoudl we store those keys locally in our application ? And can we use multiple licenses simultaneously from a single machine ?
Hi @Jeroen_De_Schutter,
Thank you for reaching out!
Please help us knowing if you are hosting the server app yourselves or your customers are hosting it?
we are hosting the server application ourselves
Hi @Jeroen_De_Schutter,
It is possible to use Cryptlex for your web application with named user licenses. You can use the Cryptlex REST API to handle license activation dynamically using user credentials. Here’s how you can set it up:
-
Authenticate Users: Use the Login API to authenticate users with their email and password. This will provide an access token.
-
Retrieve License Key: With the acquired access token, fetch the license key associated with the user via /v3/me/licenses endpoint.
-
License Activation: Activate the license dynamically in the background during the user’s session via activations endpoint. This is required in case you want to keep track of instances. you can track them using Meter Attributes too.
Using Multiple Licenses Simultaneously:
Cryptlex allows multiple licenses to be activated on the same machine or Docker container. This is ideal for your scenario where all user sessions run on the same application instance.
Hosted Floating Licenses:
For a cloud-based application, you can consider using hosted floating licenses with a “per instance” leasing strategy. Each application instance will count as an activation, and you can configure the maximum allowed activations for each license to suit your requirements.
If you have any further questions or need assistance, feel free to reach out to us at support@cryptlex.com.
Hi @Jeroen_De_Schutter
Do you plan to store users in your database? Do you have login enabled for your users who use your app?
In this scenario, you would typically only store the license entitlements in Cryptlex.
For each customer, create a license and store the license ID in your database. This allows you to query the license of the customer and, based on the license data, enable or disable features in your application. Does this process meet your requirements?
OK, I tried that, but now I do not see how I can activate a license with the web API.
I have created a developer access token in the portal, but I can get only “Read” permission on “Activation”
Hi @Jeroen_De_Schutter,
The Create an activation endpoint is a public endpoint and does not require any permissions.
To activate a license, simply send a POST request to the v3/activations endpoint, including the required query parameters in the request body.
That does not seem to work, I get the following message: "Authentication failed due to invalid credentials or permissions. Please verify your login details."
even when I omit the Authorization header form the request
@Jeroen_De_Schutter Why do you need to create an activation at the first place. Activations are primarily meant to restrict the number of physical devices a license can be used on. In your scenario just getting the info form the License endpoint should suffice without any need of activation