10Duke Enterprise C++ SDK
Loading...
Searching...
No Matches
OAuthClientCredentialsGrantFlow.h
1#ifndef TENDUKE_OAUTH_CCG_OAUTHCLIENTCREDENTIALSGRANTFLOW_H
2#define TENDUKE_OAUTH_CCG_OAUTHCLIENTCREDENTIALSGRANTFLOW_H
3
4#include "./OAuthClientCredentialsGrantRequest.h"
5
6#include "../BaseOAuthClient.h"
7#include "../OAuthConfiguration.h"
8
9#include "http/HTTPClient.h"
10#include "json/JSONParser.h"
11#include "time/Clock.h"
12
13#include <map>
14#include <memory>
15#include <string>
16
17namespace tenduke { namespace oauth { namespace ccg {
18
25{
26public:
35 std::shared_ptr<const ::tenduke::oauth::OAuthConfiguration> config,
36 std::shared_ptr<const ::tenduke::http::HTTPClient> httpClient,
37 std::shared_ptr<const ::tenduke::json::JSONParser> jsonParser,
38 std::shared_ptr<::tenduke::time::Clock> clock
39 );
40
46 virtual std::unique_ptr<const ::tenduke::oauth::ccg::OAuthClientCredentialsGrantRequest> authorize(const std::string &scope) const;
47
54 virtual std::unique_ptr<const ::tenduke::oauth::ccg::OAuthClientCredentialsGrantRequest> authorize(
55 const std::string &scope,
56 const std::map<std::string, std::string> &additionalParameters
57 ) const;
58
63 virtual std::unique_ptr<const ::tenduke::oauth::ccg::OAuthClientCredentialsGrantRequest> authorize() const;
64
65private:
66 const std::shared_ptr<const ::tenduke::oauth::OAuthConfiguration> config;
67 const std::shared_ptr<const ::tenduke::http::HTTPClient> httpClient;
68 const std::shared_ptr<const ::tenduke::json::JSONParser> jsonParser;
69 const std::shared_ptr<::tenduke::time::Clock> clock;
70};
71
72
73}}}
74
75#endif // TENDUKE_OAUTH_CCG_OAUTHCLIENTCREDENTIALSGRANTFLOW_H
OAuthClientCredentialsGrantFlow(std::shared_ptr< const ::tenduke::oauth::OAuthConfiguration > config, std::shared_ptr< const ::tenduke::http::HTTPClient > httpClient, std::shared_ptr< const ::tenduke::json::JSONParser > jsonParser, std::shared_ptr<::tenduke::time::Clock > clock)
Constructs new instance.
Definition OAuthClientCredentialsGrantFlow.cpp:36
Base class for OAuth-clients.
Definition BaseOAuthClient.h:20
OAuthClientCredentialsGrantFlow(std::shared_ptr< const ::tenduke::oauth::OAuthConfiguration > config, std::shared_ptr< const ::tenduke::http::HTTPClient > httpClient, std::shared_ptr< const ::tenduke::json::JSONParser > jsonParser, std::shared_ptr<::tenduke::time::Clock > clock)
Constructs new instance.
Definition OAuthClientCredentialsGrantFlow.cpp:36
virtual std::unique_ptr< const ::tenduke::oauth::ccg::OAuthClientCredentialsGrantRequest > authorize() const
Creates new OAuth authorization request without scope.
Definition OAuthClientCredentialsGrantFlow.cpp:29
OAuth services.
Definition AccessTokenRequestAuthenticator.h:8
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4