10Duke Scale C++ Client
Loading...
Searching...
No Matches
DeviceAuthenticatingClientFactory.h
1#ifndef TENDUKE_SE_DEVICEAUTHENTICATINGCLIENTFACTORY_H
2#define TENDUKE_SE_DEVICEAUTHENTICATINGCLIENTFACTORY_H
3
4#include "./AbstractClientFactory.h"
5#include "oidc/device/DeviceAuthenticationConfig.h"
6
7namespace tenduke { namespace se {
8
9class DeviceAuthenticatingClientFactory : public ::tenduke::se::AbstractClientFactory<::tenduke::oidc::device::DeviceAuthenticationConfig>
10{
11public:
18 const std::string &clientId,
19 const tenduke::ServiceConfiguration &serviceConfiguration
20 ) : AbstractClientFactory<::tenduke::oidc::device::DeviceAuthenticationConfig>(clientId, serviceConfiguration)
21 {
22 }
23
28 explicit DeviceAuthenticatingClientFactory(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::device::DeviceAuthenticationConfig &authenticationConfiguration
38 ) const override;
39
40 std::shared_ptr<::tenduke::oauth::OAuthConfiguration> mkOAuthConfiguration(
41 const ::tenduke::oauth::OAuthBackendConfiguration &oauthBackendConfiguration,
42 const ::tenduke::oidc::device::DeviceAuthenticationConfig &authenticationConfiguration
43 ) const override;
44
45 bool canUseState(const ::tenduke::se::ClientState &state) const override;
46};
47
48}}
49
50#endif // TENDUKE_SE_DEVICEAUTHENTICATINGCLIENTFACTORY_H
AbstractClientFactory(const std::string &clientId, const ::tenduke::ServiceConfiguration &serviceConfiguration)
Definition AbstractClientFactory.h:37
DeviceAuthenticatingClientFactory(const std::string &clientId, const tenduke::ServiceConfiguration &serviceConfiguration)
Constructs a new instance, constructing default services using provded configuration.
Definition DeviceAuthenticatingClientFactory.h:17
Class template for factories, which create 10Duke Scale client.
Definition AbstractClientFactory.h:25
bool canUseState(const ::tenduke::se::ClientState &state) const override
Checks if stored state can be used and autodiscovery skipped.
Definition DeviceAuthenticatingClientFactory.cpp:61
DeviceAuthenticatingClientFactory(const tenduke::TendukeServices &services)
Constructs a new instance with given services.
Definition DeviceAuthenticatingClientFactory.h:28
std::shared_ptr<::tenduke::oauth::OAuthConfiguration > mkOAuthConfiguration(const ::tenduke::oauth::OAuthBackendConfiguration &oauthBackendConfiguration, const ::tenduke::oidc::device::DeviceAuthenticationConfig &authenticationConfiguration) const override
Creates full OAuth-configuration.
Definition DeviceAuthenticatingClientFactory.cpp:20
DeviceAuthenticatingClientFactory(const std::string &clientId, const tenduke::ServiceConfiguration &serviceConfiguration)
Constructs a new instance, constructing default services using provded configuration.
Definition DeviceAuthenticatingClientFactory.h:17
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
Configuration for OIDC device authentication.
Definition DeviceAuthenticationConfig.h:16