AWS SDK for C++

AWS SDK for C++ Version 1.11.806

Loading...
Searching...
No Matches
SSOBearerTokenProvider.h
1
7#pragma once
8
9#include <aws/core/auth/bearer-token-provider/AWSBearerTokenProviderBase.h>
10
11#include <aws/core/internal/AWSHttpResourceClient.h>
12#include <aws/core/utils/threading/ReaderWriterLock.h>
13
14namespace Aws
15{
16 namespace Auth
17 {
23 {
24 public:
26 explicit SSOBearerTokenProvider(const Aws::String& awsProfile);
27 explicit SSOBearerTokenProvider(const Aws::String& awsProfile, std::shared_ptr<const Aws::Client::ClientConfiguration> config);
32
33 protected:
35 {
36 public:
45 };
46
47 static const size_t REFRESH_ATTEMPT_INTERVAL_S;
49 // Profile description variables
52 std::shared_ptr<const Aws::Client::ClientConfiguration> m_config;
53
56
58
59 void Reload();
62 bool WriteAccessTokenFile(const CachedSsoToken& token) const;
63 };
64 } // namespace Auth
65} // namespace Aws
std::shared_ptr< const Aws::Client::ClientConfiguration > m_config
static const size_t REFRESH_WINDOW_BEFORE_EXPIRATION_S
Aws::UniquePtr< Aws::Internal::SSOCredentialsClient > m_client
Aws::Utils::Threading::ReaderWriterLock m_reloadLock
CachedSsoToken LoadAccessTokenFile() const
SSOBearerTokenProvider(const Aws::String &awsProfile, std::shared_ptr< const Aws::Client::ClientConfiguration > config)
AWSBearerToken GetAWSBearerToken() override
bool WriteAccessTokenFile(const CachedSsoToken &token) const
SSOBearerTokenProvider(const Aws::String &awsProfile)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition AWSString.h:97
std::unique_ptr< T, D > UniquePtr
Definition AWSMemory.h:255