10Duke Enterprise C++ Client
|
#include <CCGClientFactory.h>
Factory, which creates 10Duke Enterprise client, which authenticates user with OAuth Client Credentials Grant.
Client Credentials Grant does not authenticate a user, it authenticates an OAuth client and is usually used for authenticating a server or a device.
Note that ID-token is not available when using Client Credentials Grant.
For further details about the Client Credentials Grant, like the use cases or how to configure the backend for Client Credentials Grant, please contact 10Duke support.
Public Member Functions | |
CCGClientFactory (const std::string &clientId, const ::tenduke::ServiceConfiguration &serviceConfiguration=::tenduke::ServiceConfiguration()) | |
Constructs new instance with default services. | |
CCGClientFactory (const ::tenduke::TendukeServices &services) | |
Constructs new instance with given services. | |
Public Member Functions inherited from tenduke::ee::AbstractClientFactory<::tenduke::oidc::ccg::CCGAuthenticationConfig > | |
AbstractClientFactory (const std::string &clientId, const ::tenduke::ServiceConfiguration &serviceConfiguration=::tenduke::ServiceConfiguration()) | |
Constructs new instance with default services. | |
AbstractClientFactory (const ::tenduke::TendukeServices &services) | |
Constructs new instance with given services. | |
virtual std::unique_ptr<::tenduke::ee::TendukeClient > | createClient (const ::tenduke::ee::ClientProperties &clientProperties, const std::string &serviceUrl, const ::tenduke::oauth::OAuthBackendConfiguration &oauthBackendConfiguration, const ::tenduke::oidc::OIDCConfiguration &oidcConfiguration, const ::tenduke::oidc::ccg::CCGAuthenticationConfig &authenticationConfiguration, const std::string &initialStateAsJSON={}) const |
Creates client for 10Duke Enterprise from manually provided parameters. | |
std::unique_ptr<::tenduke::ee::TendukeClient > | createClientUsingAutodiscovery (const ::tenduke::ee::ClientProperties &clientProperties, const std::string &serviceUrl, const ::tenduke::oidc::ccg::CCGAuthenticationConfig &authenticationConfiguration, const std::string &initialStateAsJSON={}) const |
Creates client for 10Duke Enterprise, using OIDC autodiscovery for OAuth and OIDC parameters. | |
Protected Member Functions | |
std::shared_ptr<::tenduke::oidc::OIDCLogin > | createOIDCLoginService (const std::shared_ptr< const ::tenduke::oauth::OAuthConfiguration > &oauthConfiguration, const std::shared_ptr< const ::tenduke::oidc::OIDCConfiguration > &oidcConfiguration, const ::tenduke::oidc::ccg::CCGAuthenticationConfig &authenticationConfig) const override |
Creates the authentication-specific OIDC login service. | |
std::shared_ptr<::tenduke::oauth::OAuthConfiguration > | mkOAuthConfiguration (const ::tenduke::oauth::OAuthBackendConfiguration &oauthBackendConfiguration, const ::tenduke::oidc::ccg::CCGAuthenticationConfig &authenticationConfig) const override |
Creates full OAuth-configuration. | |
Protected Member Functions inherited from tenduke::ee::AbstractClientFactory<::tenduke::oidc::ccg::CCGAuthenticationConfig > | |
virtual std::shared_ptr<::tenduke::ee::licensing::LicensingConfiguration > | mkLicensingConfiguration (const std::string &serviceUrl, const ::tenduke::ee::ClientProperties &clientProperties, const ::tenduke::oidc::OIDCConfiguration &oidcConfig) const |
Creates licensing configuration from provided parameters. | |
virtual void | dumpAutodiscoveryResult (const ::tenduke::oidc::AutoDiscovery &service, const ::tenduke::oidc::AutoDiscoveryResult &result) const |
Dumps OIDC autodiscovery result to log, using DEBUG log level. | |
Additional Inherited Members | |
Protected Attributes inherited from tenduke::ee::AbstractClientFactory<::tenduke::oidc::ccg::CCGAuthenticationConfig > | |
::tenduke::TendukeServices | services |
tenduke::ee::CCGClientFactory::CCGClientFactory | ( | const std::string & | clientId, |
const ::tenduke::ServiceConfiguration & | serviceConfiguration = ::tenduke::ServiceConfiguration() |
||
) |
Constructs new instance with default services.
clientId | Identifier of the client. Used mainly as HTTP user-agent. This value is very useful when analysing or troubleshooting activity from access logs. We recommend that value is relatively short and contains short application identifier, version and platform identifier. Use "HTTP-friendly"-characters, e.g. [0-9A-Z a-z .-_~/]. Example: the-app/1.0.0/win11 |
serviceConfiguration | Configuration for the underlying services. Optional. |
tenduke::ee::CCGClientFactory::CCGClientFactory | ( | const ::tenduke::TendukeServices & | services | ) |
Constructs new instance with given services.
This allows constructing the factory with custom services.
services | Custom services |
|
overrideprotectedvirtual |
Creates the authentication-specific OIDC login service.
oauthConfig | - |
oidcConfig | - |
authenticationConfig | - |
Implements tenduke::ee::AbstractClientFactory<::tenduke::oidc::ccg::CCGAuthenticationConfig >.
|
overrideprotectedvirtual |
Creates full OAuth-configuration.
oauthBackendConfig | - |
authenticationConfig | - |
Implements tenduke::ee::AbstractClientFactory<::tenduke::oidc::ccg::CCGAuthenticationConfig >.