License consumption

When a user tries to use your client application and they have been successfully authenticated, the application checks from 10Duke Enterprise if the user has a valid license for using it.

The same applies in device licensing, except that the device client itself is authenticated and checked for a valid license.

Licenses are consumed as follows:

  1. Your client application makes a license consumption request to the 10Duke License Consumption API to consume a license.

    (In device licensing, from the 10Duke Enterprise point of view the device client is the client application.)

  2. If the user or the device client has access to a valid license, 10Duke Enterprise creates a license lease in the system.

    The lease is a time-limited authorization to consume the resource (a licensed item) that the user or device client is accessing.

    The lease describes the terms for consuming the resource, for example, the license and the user or device client that the lease applies to, and when the lease expires. These are controlled by the license model associated with the license.

    Note that while the license model controls the maximum validity of a license lease, the lease can never be valid longer than the license itself.

  3. 10Duke Enterprise returns a license token—typically a JSON Web Token (JWT)—to your application describing the lease.

    The token can also include license properties with your own custom data, such as which language versions are available to the user or device client. The license property feature must be enabled in your deployment configuration.

  4. Your client application uses the lease information in the license token to enforce the terms of the license, for example, to allow access to the application’s features.

  5. When the license token is about to expire or has expired, your application can request to renew (“refresh”) the lease.

    The license token may contain a recommended refresh time, which your application can rely on for renewing the license.

    To renew a license lease, your application can simply make a new license consumption request, and 10Duke Enterprise returns a new license token with a new validity time.