10Duke Enterprise C++ SDK
Loading...
Searching...
No Matches
tenduke::TendukeServices Class Reference

#include <TendukeServices.h>

Detailed Description

A "service locator" for core services used by Tenduke client.

Population of this "service locator" is environment-specific: The services are implemented with dependent libraries, and these implementations can be changed if needed. Some services are OS-dependent.

These services are typically only used when bootstrapping the client.

Public Member Functions

 TendukeServices (const std::shared_ptr< const tenduke::utl::Base64Decoder > &base64Decoder, const std::shared_ptr< tenduke::time::Clock > &clock, const std::shared_ptr< const tenduke::http::HTTPClient > &httpClient, const std::shared_ptr< const tenduke::json::JSONParser > &jsonParser, const std::shared_ptr< const tenduke::jwk::JWKSParser > &jwksParser, const std::shared_ptr< const tenduke::jwt::JWTParserFactory > &jwtParser, const std::shared_ptr< const tenduke::oidc::AutoDiscovery > &oidcBackendConfiguration, const std::shared_ptr< const ::tenduke::net::URLs > &urls, const std::shared_ptr< const tenduke::oidc::OIDCClientFactory > &oidcClientFactory, const std::shared_ptr< const tenduke::crypto::PublicKeyFactory > &keyFactory, const std::shared_ptr< const ::tenduke::crypto::Crypto > &cryptoServices=nullptr)
 Constructs a new instance.

Public Attributes

const std::shared_ptr< const tenduke::utl::Base64Decoderbase64Decoder
 Base64 decoder.
const std::shared_ptr< tenduke::time::Clockclock
 Clock.
const std::shared_ptr< const tenduke::http::HTTPClienthttpClient
 HTTP-client.
const std::shared_ptr< const tenduke::json::JSONParserjsonParser
 JSON-parser.
const std::shared_ptr< const tenduke::jwt::JWTParserFactoryjwtParser
 JWT-parser factory.
const std::shared_ptr< const tenduke::jwk::JWKSParserjwksParser
 JWKS-parser.
const std::shared_ptr< const tenduke::oidc::AutoDiscoveryoidcBackendConfiguration
 OIDC configuration auto discovery service.
const std::shared_ptr< const ::tenduke::net::URLsurls
 URL-functions.
const std::shared_ptr< const tenduke::oidc::OIDCClientFactoryoidcClientFactory
 OIDC-client factory.
const std::shared_ptr< const tenduke::crypto::PublicKeyFactorykeyFactory
 Cryptographic key factory.
const std::shared_ptr< const ::tenduke::crypto::Cryptocrypto
 Crypto-services.

Constructor & Destructor Documentation

◆ TendukeServices()

tenduke::TendukeServices::TendukeServices ( const std::shared_ptr< const tenduke::utl::Base64Decoder > & base64Decoder,
const std::shared_ptr< tenduke::time::Clock > & clock,
const std::shared_ptr< const tenduke::http::HTTPClient > & httpClient,
const std::shared_ptr< const tenduke::json::JSONParser > & jsonParser,
const std::shared_ptr< const tenduke::jwk::JWKSParser > & jwksParser,
const std::shared_ptr< const tenduke::jwt::JWTParserFactory > & jwtParser,
const std::shared_ptr< const tenduke::oidc::AutoDiscovery > & oidcBackendConfiguration,
const std::shared_ptr< const ::tenduke::net::URLs > & urls,
const std::shared_ptr< const tenduke::oidc::OIDCClientFactory > & oidcClientFactory,
const std::shared_ptr< const tenduke::crypto::PublicKeyFactory > & keyFactory,
const std::shared_ptr< const ::tenduke::crypto::Crypto > & cryptoServices = nullptr )
inline

Constructs a new instance.

Parameters
base64Decoder-
clock-
httpClient-
jsonParser-
jwksParser-
jwtParser-
oidcBackendConfiguration-
urls-
oidcClientFactory-
keyFactoryPublic key factory. NOTE: This will be removed in the next major release: The keyFactory will then be found from "crypto".
cryptoServicesCryptography services. Defaults to nullptr to keep code backwards compatible. The default value will be removed in the next major release.

The documentation for this class was generated from the following file: