Solution components

10Duke Enterprise exposes application programming interfaces (APIs) to the client application or device that you’re providing to your customers. After integrating with 10Duke Enterprise, the client application can make API requests to the 10Duke Enterprise backend to check that the customer has a valid license and is authorized to use the client application.

As a developer, you can interact with the 10Duke Enterprise backend in two ways: by making requests to 10Duke APIs directly or by using the web-based administration tool 10Duke SysAdmin.

Other business tools that you may use, such as CRM or e-commerce tools, can also be connected to 10Duke Enterprise through the 10Duke APIs.

APIs

10Duke Enterprise provides the following APIs. As a developer, the APIs that you need depend on your use case.

10Duke Identity Management REST API

The 10Duke Identity Management REST API provides the capability to create and manage organizations and users.

See the developer guide on how to use the API.

10Duke Entitlement Management REST API

The 10Duke Entitlement Management REST API provides the capability to manage licenses and entitlements.

See the developer guide on how to use the API.

10Duke Authentication API

The 10Duke Authentication API is used for end user and client authentication and single sign-on (SSO) through the OpenID Connect/OAuth and Security Assertion Markup Language (SAML) authentication protocols.

The Authentication API can also be used in cases where you want to build your own web-based login flow rather than using the out-of-the-box Login Application provided with 10Duke Enterprise.

See the developer guide on how to use the API.

10Duke License Consumption API

The 10Duke License Consumption API provides a single endpoint /authz/ for requesting authorization decisions. The API is used for all authorization requests related to license consumption.

See the developer guide on how to use the API.

10Duke Event API

The 10Duke Event API enables the collection and storage of event-based data generated by the 10Duke APIs and connected client applications, for example, for business intelligence or audit purposes.

See the Event API reference.

Graph API

The Graph API provides a single endpoint /graph/ for requesting data access and business logic operations in a 10Duke Enterprise deployment.

The Graph API is typically used in more advanced use cases, for example, when integrating 10Duke Enterprise with third-party tools such CRM and e-commerce systems.

See the Graph API reference.

UI administration tools

10Duke Enterprise provides two web-based tools for administrators.

10Duke SysAdmin

10Duke SysAdmin is the administration tool for the software vendor.

In SysAdmin, your system administrators can set up the product configuration for licensing, create organizations and invite users, grant licenses to organizations and consumers, and configure connections to client applications and identity provider systems.

See more on how to use SysAdmin.

10Duke OrgAdmin

10Duke OrgAdmin is an optional, more narrowly scoped administration tool intended for your (the vendor’s) customers. OrgAdmin is used by a customer license administrator for self-managing their own users and licenses.

You can customize the appearance of the OrgAdmin UI to match your brand and configure what features are available to your customers. OrgAdmin is deployed on request as part of your 10Duke Enterprise environment.

See more on OrgAdmin.

Login Application

The 10Duke Login Application is a component that you can use to implement authentication-related services for end users. It also provides a web-based login page, and profile pages where end users can manage their personal profile information, change or reset their password, and enable two-factor authentication (2FA) for themselves (if you choose to offer this feature to your customers).

With the Login Application, you can also provide self-registration to users. This is useful if you’d like your customers to be able to find, buy, and get access to a license for your application with no manual intervention from you.

The login page provided with the Login Application can be used as the common login page for different type of applications (such as web, mobile, and desktop). If needed, you can also implement multiple custom login pages. This can be useful if you want to customize the login page per application type, for example, to provide a different login experience when using an embedded browser in a desktop application.

You can choose not to use the Login Application at all, or only use the backend part of it (the 10Duke Authentication API).

You can customize the UI of the Login Application to match your brand.

SDKs and client libraries

To help with the implementation, 10Duke provides some SDKs and client libraries that are available in a variety of languages. They provide examples on how to connect your client application to the 10Duke Enterprise APIs.