When an end user tries to use your software application and they have been successfully authenticated, your software application checks from 10Duke Enterprise if the end user has a valid license for using it.
Your application makes a license consumption request to the 10Duke License Consumption API on behalf of the end user to consume a license.
If the end user has 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 is accessing.
The lease describes the terms for consuming the resource, for example, the license and the end user 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.
10Duke Enterprise returns a license token—typically a JSON Web Token (JWT)—to your application describing the lease.
Your client application uses the lease information in the license token to enforce the terms of the license, for example, to grant the user access to the application’s features.
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.