AWS SDK for C++

AWS SDK for C++ Version 1.11.826

Loading...
Searching...
No Matches
BearerTokenAuthScheme.h
1
5#pragma once
6
7#include <smithy/identity/auth/AuthScheme.h>
8#include <smithy/identity/auth/built-in/BearerTokenAuthSchemeOption.h>
9#include <smithy/identity/identity/AwsBearerTokenIdentityBase.h>
10#include <smithy/identity/resolver/AwsBearerTokenIdentityResolver.h>
11#include <smithy/identity/signer/built-in/BearerTokenSigner.h>
12namespace smithy
13{
14constexpr char BEARER[] = "smithy.api#HTTPBearerAuth";
15
16class BearerTokenAuthScheme : public AuthScheme<AwsBearerTokenIdentityBase>
17{
18 public:
22
23 // This allows to override the identity resolver
25 std::shared_ptr<AwsCredentialIdentityResolverT> identityResolver,
26 const Aws::String &serviceName, const Aws::String &region)
30 "BearerTokenAuthScheme", serviceName, region)}
31 {
32 assert(m_identityResolver);
33 assert(m_signer);
34 }
35
36 explicit BearerTokenAuthScheme(const Aws::String &serviceName, const Aws::String &region,
38 : BearerTokenAuthScheme(Aws::MakeShared<DefaultAwsBearerTokenIdentityResolver>("BearerTokenAuthScheme", config), serviceName, region) {
39 AWS_UNREFERENCED_PARAM(config);
40 assert(m_identityResolver);
41 assert(m_signer);
42 }
43
44 explicit BearerTokenAuthScheme(const Aws::String &serviceName,
45 const Aws::String &region)
48 "BearerTokenAuthScheme"),
49 serviceName, region)
50 {
51 assert(m_identityResolver);
52
53 assert(m_signer);
54 }
55
56 virtual ~BearerTokenAuthScheme() = default;
57
58 std::shared_ptr<AwsCredentialIdentityResolverT> identityResolver() override
59 {
60 return m_identityResolver;
61 }
62
63 std::shared_ptr<AwsCredentialSignerT> signer() override { return m_signer; }
64
65 protected:
66 std::shared_ptr<AwsCredentialIdentityResolverT> m_identityResolver;
67 std::shared_ptr<AwsCredentialSignerT> m_signer;
68};
69} // namespace smithy
BearerTokenAuthScheme(const Aws::String &serviceName, const Aws::String &region)
BearerTokenAuthScheme(const Aws::String &serviceName, const Aws::String &region, const Aws::Client::ClientConfiguration::CredentialProviderConfiguration &config)
std::shared_ptr< AwsCredentialSignerT > m_signer
BearerTokenAuthScheme(std::shared_ptr< AwsCredentialIdentityResolverT > identityResolver, const Aws::String &serviceName, const Aws::String &region)
virtual ~BearerTokenAuthScheme()=default
std::shared_ptr< AwsCredentialSignerT > signer() override
std::shared_ptr< AwsCredentialIdentityResolverT > identityResolver() override
std::shared_ptr< AwsCredentialIdentityResolverT > m_identityResolver
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition AWSString.h:97
constexpr char BEARER[]