AWS SDK for C++  1.9.41
AWS SDK for C++
SSOOIDCClient.h
Go to the documentation of this file.
1 
6 #pragma once
19 #include <future>
20 #include <functional>
21 
22 namespace Aws
23 {
24 
25 namespace Http
26 {
27  class HttpClient;
28  class HttpClientFactory;
29 } // namespace Http
30 
31 namespace Utils
32 {
33  template< typename R, typename E> class Outcome;
34 namespace Threading
35 {
36  class Executor;
37 } // namespace Threading
38 } // namespace Utils
39 
40 namespace Auth
41 {
42  class AWSCredentials;
43  class AWSCredentialsProvider;
44 } // namespace Auth
45 
46 namespace Client
47 {
48  class RetryStrategy;
49 } // namespace Client
50 
51 namespace SSOOIDC
52 {
53 
54 namespace Model
55 {
56  class CreateTokenRequest;
57  class RegisterClientRequest;
58  class StartDeviceAuthorizationRequest;
59 
63 
64  typedef std::future<CreateTokenOutcome> CreateTokenOutcomeCallable;
65  typedef std::future<RegisterClientOutcome> RegisterClientOutcomeCallable;
66  typedef std::future<StartDeviceAuthorizationOutcome> StartDeviceAuthorizationOutcomeCallable;
67 } // namespace Model
68 
69  class SSOOIDCClient;
70 
71  typedef std::function<void(const SSOOIDCClient*, const Model::CreateTokenRequest&, const Model::CreateTokenOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTokenResponseReceivedHandler;
72  typedef std::function<void(const SSOOIDCClient*, const Model::RegisterClientRequest&, const Model::RegisterClientOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RegisterClientResponseReceivedHandler;
73  typedef std::function<void(const SSOOIDCClient*, const Model::StartDeviceAuthorizationRequest&, const Model::StartDeviceAuthorizationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartDeviceAuthorizationResponseReceivedHandler;
74 
96  {
97  public:
99 
105 
111 
116  SSOOIDCClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
118 
119  virtual ~SSOOIDCClient();
120 
121 
130 
141 
151  virtual void CreateTokenAsync(const Model::CreateTokenRequest& request, const CreateTokenResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
152 
161 
172 
182  virtual void RegisterClientAsync(const Model::RegisterClientRequest& request, const RegisterClientResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
183 
191 
201 
210  virtual void StartDeviceAuthorizationAsync(const Model::StartDeviceAuthorizationRequest& request, const StartDeviceAuthorizationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
211 
212 
213  void OverrideEndpoint(const Aws::String& endpoint);
214  private:
215  void init(const Aws::Client::ClientConfiguration& clientConfiguration);
216  void CreateTokenAsyncHelper(const Model::CreateTokenRequest& request, const CreateTokenResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
217  void RegisterClientAsyncHelper(const Model::RegisterClientRequest& request, const RegisterClientResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
218  void StartDeviceAuthorizationAsyncHelper(const Model::StartDeviceAuthorizationRequest& request, const StartDeviceAuthorizationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
219 
220  Aws::String m_uri;
221  Aws::String m_configScheme;
222  std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
223  };
224 
225 } // namespace SSOOIDC
226 } // namespace Aws
AWS_SSOOIDC_API
#define AWS_SSOOIDC_API
Definition: SSOOIDC_EXPORTS.h:28
Aws::DirectoryService::Model::LDAPSType::NOT_SET
@ NOT_SET
Aws::SSOOIDC::SSOOIDCClient::StartDeviceAuthorization
virtual Model::StartDeviceAuthorizationOutcome StartDeviceAuthorization(const Model::StartDeviceAuthorizationRequest &request) const
RegisterClientResult.h
AWSError.h
Aws::SSOOIDC::RegisterClientResponseReceivedHandler
std::function< void(const SSOOIDCClient *, const Model::RegisterClientRequest &, const Model::RegisterClientOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > RegisterClientResponseReceivedHandler
Definition: SSOOIDCClient.h:72
Aws::SSOOIDC::SSOOIDCClient::RegisterClientAsync
virtual void RegisterClientAsync(const Model::RegisterClientRequest &request, const RegisterClientResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::SSOOIDC::Model::StartDeviceAuthorizationOutcome
Aws::Utils::Outcome< StartDeviceAuthorizationResult, SSOOIDCError > StartDeviceAuthorizationOutcome
Definition: SSOOIDCClient.h:62
SSOOIDC_EXPORTS.h
Aws::SSOOIDC::SSOOIDCClient::SSOOIDCClient
SSOOIDCClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
Aws::SSOOIDC::SSOOIDCClient::CreateTokenAsync
virtual void CreateTokenAsync(const Model::CreateTokenRequest &request, const CreateTokenResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::SSOOIDC::SSOOIDCClient::StartDeviceAuthorizationAsync
virtual void StartDeviceAuthorizationAsync(const Model::StartDeviceAuthorizationRequest &request, const StartDeviceAuthorizationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::SSOOIDC::Model::CreateTokenOutcomeCallable
std::future< CreateTokenOutcome > CreateTokenOutcomeCallable
Definition: SSOOIDCClient.h:64
AsyncCallerContext.h
StartDeviceAuthorizationResult.h
Aws::SSOOIDC::Model::RegisterClientOutcomeCallable
std::future< RegisterClientOutcome > RegisterClientOutcomeCallable
Definition: SSOOIDCClient.h:65
Aws::SSOOIDC::Model::CreateTokenOutcome
Aws::Utils::Outcome< CreateTokenResult, SSOOIDCError > CreateTokenOutcome
Definition: SSOOIDCClient.h:58
Aws::Client::ClientConfiguration
Definition: ClientConfiguration.h:53
Aws::SSOOIDC::Model::RegisterClientRequest
Definition: RegisterClientRequest.h:23
Aws::SSOOIDC::SSOOIDCClient::OverrideEndpoint
void OverrideEndpoint(const Aws::String &endpoint)
Aws::SSOOIDC::StartDeviceAuthorizationResponseReceivedHandler
std::function< void(const SSOOIDCClient *, const Model::StartDeviceAuthorizationRequest &, const Model::StartDeviceAuthorizationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > StartDeviceAuthorizationResponseReceivedHandler
Definition: SSOOIDCClient.h:73
CreateTokenResult.h
Aws::SSOOIDC::SSOOIDCClient
Definition: SSOOIDCClient.h:96
Aws::Auth::AWSCredentials
Definition: AWSCredentials.h:19
Aws::SSOOIDC::SSOOIDCClient::SSOOIDCClient
SSOOIDCClient(const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
SSOOIDCErrors.h
AWSString.h
Aws::Client::AWSJsonClient
Definition: AWSClient.h:323
Aws::SSOOIDC::Model::StartDeviceAuthorizationOutcomeCallable
std::future< StartDeviceAuthorizationOutcome > StartDeviceAuthorizationOutcomeCallable
Definition: SSOOIDCClient.h:66
Aws::SSOOIDC::Model::CreateTokenRequest
Definition: CreateTokenRequest.h:23
Aws::SSOOIDC::SSOOIDCClient::SSOOIDCClient
SSOOIDCClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
Aws::SSOOIDC::SSOOIDCClient::CreateToken
virtual Model::CreateTokenOutcome CreateToken(const Model::CreateTokenRequest &request) const
ClientConfiguration.h
Aws
Definition: AccessManagementClient.h:15
HttpTypes.h
Aws::SSOOIDC::SSOOIDCClient::~SSOOIDCClient
virtual ~SSOOIDCClient()
Aws::SSOOIDC::CreateTokenResponseReceivedHandler
std::function< void(const SSOOIDCClient *, const Model::CreateTokenRequest &, const Model::CreateTokenOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateTokenResponseReceivedHandler
Definition: SSOOIDCClient.h:69
Aws::SSOOIDC::SSOOIDCClient::RegisterClientCallable
virtual Model::RegisterClientOutcomeCallable RegisterClientCallable(const Model::RegisterClientRequest &request) const
Aws::Utils::Outcome
Definition: Outcome.h:26
Aws::String
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::SSOOIDC::SSOOIDCClient::CreateTokenCallable
virtual Model::CreateTokenOutcomeCallable CreateTokenCallable(const Model::CreateTokenRequest &request) const
Aws::SSOOIDC::SSOOIDCClient::BASECLASS
Aws::Client::AWSJsonClient BASECLASS
Definition: SSOOIDCClient.h:98
AWSClient.h
Aws::SSOOIDC::Model::StartDeviceAuthorizationRequest
Definition: StartDeviceAuthorizationRequest.h:22
Aws::SSOOIDC::SSOOIDCClient::StartDeviceAuthorizationCallable
virtual Model::StartDeviceAuthorizationOutcomeCallable StartDeviceAuthorizationCallable(const Model::StartDeviceAuthorizationRequest &request) const
JsonSerializer.h
Aws::SSOOIDC::SSOOIDCClient::RegisterClient
virtual Model::RegisterClientOutcome RegisterClient(const Model::RegisterClientRequest &request) const
Aws::SSOOIDC::Model::RegisterClientOutcome
Aws::Utils::Outcome< RegisterClientResult, SSOOIDCError > RegisterClientOutcome
Definition: SSOOIDCClient.h:61