10Duke Scale C++ Client
Loading...
Searching...
No Matches
DefaultOIDCDeviceFlow.h
1#ifndef TENDUKE_OIDC_DEVICE_DEFAULTOIDCDEVICEFLOW_H
2#define TENDUKE_OIDC_DEVICE_DEFAULTOIDCDEVICEFLOW_H
3
4#include "./OIDCDeviceFlow.h"
5#include "../../oauth/device/OAuthDeviceFlow.h"
6#include "oidc/impl/BaseOIDCClient.h"
7
8namespace tenduke { namespace oidc { namespace device {
9
15{
16public:
25 const std::shared_ptr<const tenduke::oidc::OIDCConfiguration> &oidcConfiguration,
26 const std::shared_ptr<const tenduke::oauth::device::OAuthDeviceFlow> &oauthClient,
27 const std::shared_ptr<const tenduke::jwt::JWTParser> &jwtParser,
28 const std::shared_ptr<const tenduke::http::HTTPClient> &httpClient
29 );
30
31 // 'tenduke:oidc::device::OIDCDeviceFlow` interface
32public:
33 std::unique_ptr<tenduke::oidc::device::OIDCDeviceAuthenticationRequest> authenticate(const std::string &scopes) const override;
34 std::unique_ptr<tenduke::oidc::device::OIDCDeviceAuthenticationRequest> authenticate(
35 const std::string &scopes,
36 const std::map<std::string, std::string> &additionalProperties
37 ) const override;
38
39private:
40 const std::shared_ptr<const tenduke::oauth::device::OAuthDeviceFlow> oauth;
41};
42
43}}}
44
45#endif //TENDUKE_OIDC_DEVICE_DEFAULTOIDCDEVICEFLOW_H
Base-class for OIDC-clients.
Definition BaseOIDCClient.h:22
const std::shared_ptr< const tenduke::oidc::OIDCConfiguration > oidcConfiguration
OIDC-configuration.
Definition BaseOIDCClient.h:71
Default implementation of tenduke::oidc::device::OIDCDeviceFlow.
Definition DefaultOIDCDeviceFlow.h:15
std::unique_ptr< tenduke::oidc::device::OIDCDeviceAuthenticationRequest > authenticate(const std::string &scopes) const override
Creates OIDCRequest which performs the OIDC-authentication.
Definition DefaultOIDCDeviceFlow.cpp:9
OpenID Connect -client for OAuth Device Authorization Grant.
Definition OIDCDeviceFlow.h:20
OAuth services.
Definition AccessTokenRequestAuthenticator.h:8
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7