10Duke Scale C++ Client
Loading...
Searching...
No Matches
OIDCClientFactory.h
1#ifndef TENDUKE_OIDC_OIDCCLIENTFACTORY_H
2#define TENDUKE_OIDC_OIDCCLIENTFACTORY_H
3
4#include "./OIDCBrowserFlow.h"
5#include "./OIDCConfiguration.h"
6#include "oauth/OAuthConfiguration.h"
7
8#include <memory>
9
10namespace tenduke { namespace oidc {
11
17{
18public:
19 virtual ~OIDCClientFactory() = default;
20
27 virtual std::unique_ptr<tenduke::oidc::OIDCBrowserFlow> create(
28 std::shared_ptr<const tenduke::oauth::OAuthConfiguration> oauthConfiguration,
29 std::shared_ptr<const tenduke::oidc::OIDCConfiguration> oidcConfiguration
30 ) const = 0;
31
39 virtual std::unique_ptr<tenduke::oidc::OIDCBrowserFlow> create(
40 const tenduke::oauth::OAuthClientConfiguration &oauthClientConfiguration,
41 const tenduke::oauth::OAuthBackendConfiguration &oauthBackendConfiguration,
42 std::shared_ptr<const tenduke::oidc::OIDCConfiguration> oidcConfiguration
43 ) const = 0;
44};
45
46}}
47
48#endif //TENDUKE_OIDC_OIDCCLIENTFACTORY_H
Container for OAuth-backend configuration.
Definition OAuthBackendConfiguration.h:17
Container for OAuth-client-configuration.
Definition OAuthClientConfiguration.h:17
Factory for creating tenduke::oidc::OIDCClient.
Definition OIDCClientFactory.h:17
virtual std::unique_ptr< tenduke::oidc::OIDCBrowserFlow > create(const tenduke::oauth::OAuthClientConfiguration &oauthClientConfiguration, const tenduke::oauth::OAuthBackendConfiguration &oauthBackendConfiguration, std::shared_ptr< const tenduke::oidc::OIDCConfiguration > oidcConfiguration) const =0
Creates new tenduke::oidc::OIDCClient for browser-based flow.
virtual std::unique_ptr< tenduke::oidc::OIDCBrowserFlow > create(std::shared_ptr< const tenduke::oauth::OAuthConfiguration > oauthConfiguration, std::shared_ptr< const tenduke::oidc::OIDCConfiguration > oidcConfiguration) const =0
Creates new tenduke::oidc::OIDCClient for browser-based flow.
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7