10Duke Scale C++ Client
Loading...
Searching...
No Matches
BrowserAuthenticatingClientFactory.h
1#ifndef TENDUKE_SE_BROWSERAUTHENTICATINGCLIENTFACTORY_H
2#define TENDUKE_SE_BROWSERAUTHENTICATINGCLIENTFACTORY_H
3
4#include "./AbstractClientFactory.h"
5#include "oidc/osbrowser/BrowserAuthenticationConfig.h"
6
7namespace tenduke { namespace se {
8
9class BrowserAuthenticatingClientFactory : public ::tenduke::se::AbstractClientFactory<::tenduke::oidc::osbrowser::BrowserAuthenticationConfig>
10{
11public:
18 const std::string &clientId,
19 const tenduke::ServiceConfiguration &serviceConfiguration
20 ) : AbstractClientFactory<::tenduke::oidc::osbrowser::BrowserAuthenticationConfig>(clientId, serviceConfiguration)
21 {
22 }
23
28 explicit BrowserAuthenticatingClientFactory(const tenduke::TendukeServices &services)
30 {
31 }
32
33protected:
34 OIDCServices createOIDCLoginService(
35 const std::shared_ptr<const ::tenduke::oauth::OAuthConfiguration> &oauthConfiguration,
36 const std::shared_ptr<const ::tenduke::oidc::OIDCConfiguration> &oidcConfiguration,
37 const ::tenduke::oidc::osbrowser::BrowserAuthenticationConfig &authenticationConfiguration
38 ) const override;
39
40 std::shared_ptr<::tenduke::oauth::OAuthConfiguration> mkOAuthConfiguration(
41 const ::tenduke::oauth::OAuthBackendConfiguration &oauthBackendConfiguration,
42 const ::tenduke::oidc::osbrowser::BrowserAuthenticationConfig &authenticationConfiguration
43 ) const override;
44
45 bool canUseState(const ::tenduke::se::ClientState &state) const override;
46};
47
48}}
49
50#endif //TENDUKE_SE_BROWSERAUTHENTICATINGCLIENTFACTORY_H
AbstractClientFactory(const std::string &clientId, const ::tenduke::ServiceConfiguration &serviceConfiguration)
Definition AbstractClientFactory.h:37
BrowserAuthenticatingClientFactory(const std::string &clientId, const tenduke::ServiceConfiguration &serviceConfiguration)
Constructs a new instance, constructing default services using provded configuration.
Definition BrowserAuthenticatingClientFactory.h:17
Configuration for "default OS-browser"-based authentication.
Definition BrowserAuthenticationConfig.h:34
Class template for factories, which create 10Duke Scale client.
Definition AbstractClientFactory.h:25
std::shared_ptr<::tenduke::oauth::OAuthConfiguration > mkOAuthConfiguration(const ::tenduke::oauth::OAuthBackendConfiguration &oauthBackendConfiguration, const ::tenduke::oidc::osbrowser::BrowserAuthenticationConfig &authenticationConfiguration) const override
Creates full OAuth-configuration.
Definition BrowserAuthenticatingClientFactory.cpp:20
BrowserAuthenticatingClientFactory(const std::string &clientId, const tenduke::ServiceConfiguration &serviceConfiguration)
Constructs a new instance, constructing default services using provded configuration.
Definition BrowserAuthenticatingClientFactory.h:17
bool canUseState(const ::tenduke::se::ClientState &state) const override
Checks if stored state can be used and autodiscovery skipped.
Definition BrowserAuthenticatingClientFactory.cpp:59
BrowserAuthenticatingClientFactory(const tenduke::TendukeServices &services)
Constructs a new instance with given services.
Definition BrowserAuthenticatingClientFactory.h:28
Implementation of OpenID Connect protocol.
Definition AutoDiscovery.h:18
Classes, functions and globals of 10Duke Scale C++ Client.
Definition AbstractClientFactory.h:16
Root for classes, functions and globals of 10Duke C++ Client.
Definition AbstractClientFactory.h:16