1#ifndef TENDUKE_TENDUKESERVICES_H
2#define TENDUKE_TENDUKESERVICES_H
4#include "crypto/Crypto.h"
5#include "crypto/PublicKeyFactory.h"
6#include "http/HTTPClient.h"
7#include "json/JSONParser.h"
8#include "jwk/JWKSParser.h"
10#include "oidc/autodiscovery/AutoDiscovery.h"
11#include "oidc/OIDCClientFactory.h"
12#include "time/Clock.h"
13#include "utl/Base64Decoder.h"
14#include "jwt/DefaultJWTParserFactory.h"
45 const std::shared_ptr<const tenduke::utl::Base64Decoder> &
base64Decoder,
46 const std::shared_ptr<tenduke::time::Clock> &
clock,
47 const std::shared_ptr<const tenduke::http::HTTPClient> &
httpClient,
48 const std::shared_ptr<const tenduke::json::JSONParser> &
jsonParser,
49 const std::shared_ptr<const tenduke::jwk::JWKSParser> &
jwksParser,
50 const std::shared_ptr<const tenduke::jwt::JWTParserFactory> &
jwtParser,
52 const std::shared_ptr<const ::tenduke::net::URLs> &
urls,
54 const std::shared_ptr<const tenduke::crypto::PublicKeyFactory>&
keyFactory,
55 const std::shared_ptr<const ::tenduke::crypto::Crypto>& cryptoServices =
nullptr
73 const std::shared_ptr<tenduke::time::Clock>
clock;
75 const std::shared_ptr<const tenduke::http::HTTPClient>
httpClient;
77 const std::shared_ptr<const tenduke::json::JSONParser>
jsonParser;
79 const std::shared_ptr<const tenduke::jwt::JWTParserFactory>
jwtParser;
81 const std::shared_ptr<const tenduke::jwk::JWKSParser>
jwksParser;
85 const std::shared_ptr<const ::tenduke::net::URLs>
urls;
89 const std::shared_ptr<const tenduke::crypto::PublicKeyFactory>
keyFactory;
91 const std::shared_ptr<const ::tenduke::crypto::Crypto>
crypto;
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.
Definition TendukeServices.h:44
const std::shared_ptr< const tenduke::jwk::JWKSParser > jwksParser
JWKS-parser.
Definition TendukeServices.h:81
const std::shared_ptr< const tenduke::json::JSONParser > jsonParser
JSON-parser.
Definition TendukeServices.h:77
const std::shared_ptr< const tenduke::jwt::JWTParserFactory > jwtParser
JWT-parser factory.
Definition TendukeServices.h:79
const std::shared_ptr< const tenduke::crypto::PublicKeyFactory > keyFactory
Cryptographic key factory.
Definition TendukeServices.h:89
const std::shared_ptr< tenduke::time::Clock > clock
Clock.
Definition TendukeServices.h:73
const std::shared_ptr< const tenduke::oidc::OIDCClientFactory > oidcClientFactory
OIDC-client factory.
Definition TendukeServices.h:87
const std::shared_ptr< const tenduke::oidc::AutoDiscovery > oidcBackendConfiguration
OIDC configuration auto discovery service.
Definition TendukeServices.h:83
const std::shared_ptr< const ::tenduke::net::URLs > urls
URL-functions.
Definition TendukeServices.h:85
const std::shared_ptr< const tenduke::http::HTTPClient > httpClient
HTTP-client.
Definition TendukeServices.h:75
const std::shared_ptr< const tenduke::utl::Base64Decoder > base64Decoder
Base64 decoder.
Definition TendukeServices.h:71
Cryptography services.
Definition AbstractCiphers.h:12
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4