10Duke Enterprise C++ Client
|
#include <StatefulLicensingClient.h>
A tenduke::ee::licensing::LicensingClient, which automatically maintains OIDC-login session.
Before each request, the client checks that the OIDC-login state is valid. If not, the client refreshes the session or re-logins the user. In case the licensing request failed because of invalid credentials (most typically because the local OIDC-login state is out of sync with the backend), the client re-establishes the OIDC-login state and re-executes the licensing request automatically.
This means that the application developer does not need to manually activate login or refresh the session: All this happens automatically.
If you want to be notified of when session events (e.g. when login is starting), register a tenduke::oidc::OIDCSessionEventListener
. For details, see function createClientUsingAutodiscovery(const std::string &,const std::string &,const std::string &,const ::tenduke::oidc::osbrowser::BrowserAuthenticationConfig &,const std::string &,const ::tenduke::ServiceConfiguration &). Full example is available in identity_based_client.cpp
.
If you don't want automatic user session management, you may want to use tenduke::ee::licensing::authzapi::DefaultAuthzLicensingClient
.
tenduke::ee::licensing::impl::StatefulLicensingClient::StatefulLicensingClient | ( | const std::shared_ptr< const tenduke::ee::licensing::LicensingConfiguration > & | configuration, |
const std::shared_ptr< const tenduke::ee::licensing::authzapi::AuthzLicensingClient > & | authzApi, | ||
const std::shared_ptr< tenduke::oidc::OIDCSession > & | oidcSession | ||
) |
Constructs new instance.
configuration | - |
authzApi | - |
oidcSession | - |
|
overridevirtual |
Checks out license(s) fluently.
See the tenduke::ee::licensing::FluentLicenseCheckout
(and its superclass) for complete set of parameters.
Implements tenduke::ee::licensing::LicensingClient.
|
overridevirtual |
Checks out license(s).
parameters | the request parameters |
tenduke::TendukeException | and subclasses. See class documentation. |
Implements tenduke::ee::licensing::LicensingClient.
|
overridevirtual |
Releases checked out license(s) fluently.
See the tenduke::ee::licensing::FluentLicenseRelease
(and its superclass) for complete set of parameters.
Implements tenduke::ee::licensing::LicensingClient.
|
overridevirtual |
Releases checked out license(s).
parameters | the request parameters |
tenduke::TendukeException | and subclasses. See class documentation. |
Implements tenduke::ee::licensing::LicensingClient.
|
overridevirtual |
Renews leases fluently.
See tenduke::ee::licensing::LicensingClient::renewLeases(const tenduke::ee::licensing::LicenseRenewParameters &) const
for details.
Implements tenduke::ee::licensing::LicensingClient.
|
overridevirtual |
Renews leases.
NOTE: Renewal returns new leases (i.e. leases with new lease ID), these leases replace the original leases.
parameters | the request parameters |
tenduke::TendukeException | and subclasses. See class documentation. |
Implements tenduke::ee::licensing::LicensingClient.