7#include <smithy/identity/signer/AwsSignerBase.h>
8#include <smithy/identity/identity/AwsCredentialIdentityBase.h>
10#include <aws/core/auth/signer/AWSAuthV4Signer.h>
12#include <aws/core/auth/AWSCredentials.h>
13#include <smithy/identity/signer/built-in/SignerProperties.h>
14#include <smithy/identity/auth/AuthSchemeResolverBase.h>
28 legacySigner(nullptr, serviceName.c_str(), region,
Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Always)
37 legacySigner(nullptr, serviceName.c_str(), region, policy, urlEscapePath)
55 auto signPayloadIt = properties.find(
"SignPayload");
56 bool signPayload = signPayloadIt != properties.end() ? signPayloadIt->second.get<
Aws::String>() ==
"true" :
false;
59 auto region = signerRegionOverrideIt != properties.end() ? signerRegionOverrideIt->second.get<
Aws::String>().c_str() :
m_region.c_str();
62 auto svcName = signerServiceNameOverrideIt != properties.end() ? signerServiceNameOverrideIt->second.get<
Aws::String>().c_str() :
m_serviceName.c_str();
66 bool success =
legacySigner.SignRequestWithCreds(*httpRequest, legacyCreds, region, svcName, signPayload);
76 AWS_UNREFERENCED_PARAM(properties);
88 auto result =
legacySigner.
PresignRequest(*httpRequest, legacyCreds, region.empty() ? nullptr : region.c_str(), serviceName.empty() ? nullptr : serviceName.c_str(), expirationTimeInSeconds);
103 legacySigner(credentialsProvider, serviceName.c_str(), region, policy, urlEscapePath, signingAlgorithm)
bool PresignRequest(Aws::Http::HttpRequest &request, long long expirationInSeconds=0) const override
virtual Aws::String accessKeyId() const =0
virtual Aws::Crt::Optional< AwsIdentity::DateTime > expiration() const override=0
virtual Aws::String secretAccessKey() const =0
virtual Aws::Crt::Optional< Aws::String > sessionToken() const =0
Aws::String m_serviceName
SigningFutureOutcome presign(std::shared_ptr< HttpRequest > httpRequest, const AwsCredentialIdentityBase &identity, SigningProperties properties, const Aws::String ®ion, const Aws::String &serviceName, long long expirationTimeInSeconds) override
Aws::Client::AWSAuthV4Signer legacySigner
const Aws::Client::AWSAuthV4Signer & getLegacySigner() const
SigningFutureOutcome sign(std::shared_ptr< HttpRequest > httpRequest, const AwsCredentialIdentityBase &identity, SigningProperties properties) override
virtual ~AwsSigV4Signer()
AwsSigV4Signer(const Aws::String &serviceName, const Aws::String ®ion)
AwsSigV4Signer(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::String &serviceName, const Aws::String ®ion, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy policy, bool urlEscapePath, Aws::Auth::AWSSigningAlgorithm signingAlgorithm)
AwsSigV4Signer(const Aws::String &serviceName, const Aws::String ®ion, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy policy, bool urlEscapePath)
Aws::Client::AWSError< Aws::Client::CoreErrors > SigningError
Aws::Utils::FutureOutcome< std::shared_ptr< HttpRequest >, SigningError > SigningFutureOutcome
Aws::UnorderedMap< Aws::String, Aws::Crt::Variant< Aws::String, bool > > SigningProperties
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
SMITHY_API const char * SIGNER_REGION_PROPERTY
SMITHY_API const char * SIGNER_SERVICE_NAME