10Duke Enterprise C++ Client
Loading...
Searching...
No Matches
BrowserBasedClientFactory.h
1#ifndef TENDUKE_EE_BROWSERBASECLIENTFACTORY_H
2#define TENDUKE_EE_BROWSERBASECLIENTFACTORY_H
3
4#include "./AbstractClientFactory.h"
5
6#include "oidc/osbrowser/BrowserAuthenticationConfig.h"
7
8namespace tenduke { namespace ee {
9
13class BrowserBasedClientFactory : public ::tenduke::ee::AbstractClientFactory<::tenduke::oidc::osbrowser::BrowserAuthenticationConfig>
14{
15public:
25 const std::string &clientId,
26 const ::tenduke::ServiceConfiguration &serviceConfiguration = ::tenduke::ServiceConfiguration()
27 );
28
35 explicit BrowserBasedClientFactory(const ::tenduke::TendukeServices &services);
36
37protected:
38 std::shared_ptr<::tenduke::oidc::OIDCLogin> createOIDCLoginService(
39 const std::shared_ptr<const ::tenduke::oauth::OAuthConfiguration> &oauthConfiguration,
40 const std::shared_ptr<const ::tenduke::oidc::OIDCConfiguration> &oidcConfiguration,
41 const ::tenduke::oidc::osbrowser::BrowserAuthenticationConfig &authenticationConfig
42 ) const override;
43
44 std::shared_ptr<::tenduke::oauth::OAuthConfiguration> mkOAuthConfiguration(
45 const ::tenduke::oauth::OAuthBackendConfiguration &oauthBackendConfiguration,
46 const ::tenduke::oidc::osbrowser::BrowserAuthenticationConfig &authenticationConfig
47 ) const override;
48};
49
50}}
51
52#endif //TENDUKE_EE_BROWSERBASECLIENTFACTORY_H
Configuration for supporting services.
Definition ServiceConfiguration.h:12
Class template for factories, which create 10Duke client.
Definition AbstractClientFactory.h:26
Factory, which creates 10Duke Enterprise client, which authenticates user by opening default OS brows...
Definition BrowserBasedClientFactory.h:14
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::osbrowser::BrowserAuthenticationConfig &authenticationConfig) const override
Creates the authentication-specific OIDC login service.
Definition BrowserBasedClientFactory.cpp:23
std::shared_ptr<::tenduke::oauth::OAuthConfiguration > mkOAuthConfiguration(const ::tenduke::oauth::OAuthBackendConfiguration &oauthBackendConfiguration, const ::tenduke::oidc::osbrowser::BrowserAuthenticationConfig &authenticationConfig) const override
Creates full OAuth-configuration.
Definition BrowserBasedClientFactory.cpp:45
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4