AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
smithy::AwsSigV4aSigner Class Reference

#include <SigV4aSigner.h>

Inheritance diagram for smithy::AwsSigV4aSigner:
[legend]

Public Types

 
 
using SigningProperties = Aws::UnorderedMap< Aws::String, Aws::Crt::Variant< Aws::String, bool > >
 
using AdditionalParameters = Aws::UnorderedMap< Aws::String, Aws::Crt::Variant< Aws::String, bool > >
 
 
 
 
 

Public Member Functions

 AwsSigV4aSigner (const Aws::String &serviceName, const Aws::String &region)
 
 
 AwsSigV4aSigner (const Aws::String &serviceName, const Aws::String &region, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy policy, bool urlEscape)
 
SigningFutureOutcome sign (std::shared_ptr< HttpRequest > httpRequest, const AwsCredentialIdentityBase &identity, SigningProperties properties) override
 
SigningFutureOutcome presign (std::shared_ptr< HttpRequest > httpRequest, const AwsCredentialIdentityBase &identity, SigningProperties properties, const Aws::String &region, const Aws::String &serviceName, long long expirationTimeInSeconds) override
 
virtual ~AwsSigV4aSigner ()
 

Public Member Functions inherited from smithy::AwsSignerBase< AwsCredentialIdentityBase >

 
virtual ~AwsSignerBase ()
 

Public Member Functions inherited from smithy::AwsSignerCommon

virtual ~AwsSignerCommon ()=default
 
virtual void SetClockSkew (const std::chrono::milliseconds &clockSkew)
 
 

Protected Member Functions

bool createAwsSigningConfig (std::shared_ptr< Aws::Crt::Auth::Credentials > &crtCredentials, const Aws::Http::HttpRequest &request, const Aws::String &serviceName, const Aws::String &region, Aws::Crt::Auth::AwsSigningConfig &awsSigningConfig, bool signBody, Aws::Crt::Auth::SignatureType signatureType) const
 
SigningFutureOutcome sign (std::shared_ptr< HttpRequest > httpRequest, const AwsCredentialIdentityBase &identity, SigningProperties properties, const Aws::String &region, const Aws::String &svcName, long long expirationTimeInSeconds, Aws::Crt::Auth::SignatureType signatureType)
 
bool ServiceRequireUnsignedPayload (const Aws::String &serviceName) const
 

Protected Member Functions inherited from smithy::AwsSignerCommon

virtual std::chrono::milliseconds GetClockSkewOffset () const
 

Protected Attributes

 
 
 
 
const bool m_includeSha256HashHeader {true}
 
const bool m_urlEscape {true}
 
 
const Aws::Crt::Auth::SignatureType m_signatureType {Aws::Crt::Auth::SignatureType::HttpRequestViaHeaders}
 
std::condition_variable m_cv
 
std::mutex m_mutex
 

Protected Attributes inherited from smithy::AwsSignerCommon

std::atomic< std::chrono::milliseconds > m_clockSkew = {}
 

Detailed Description

A smithy SigV4 signer wrapper on top of legacy SDK SigV4 signer TODO: refactor into own signer using smithy design

Definition at line 33 of file SigV4aSigner.h.

Member Typedef Documentation

◆ SigV4aAuthSchemeParameters

Definition at line 36 of file SigV4aSigner.h.

Constructor & Destructor Documentation

◆ AwsSigV4aSigner() [1/3]

smithy::AwsSigV4aSigner::AwsSigV4aSigner ( const Aws::String serviceName,
const Aws::String region 
)
inlineexplicit

Definition at line 37 of file SigV4aSigner.h.

◆ AwsSigV4aSigner() [2/3]

smithy::AwsSigV4aSigner::AwsSigV4aSigner ( const Aws::String serviceName,
const Aws::String region,
)
inlineexplicit

Definition at line 43 of file SigV4aSigner.h.

◆ AwsSigV4aSigner() [3/3]

smithy::AwsSigV4aSigner::AwsSigV4aSigner ( const Aws::String serviceName,
const Aws::String region,
bool  urlEscape 
)
inlineexplicit

Definition at line 48 of file SigV4aSigner.h.

◆ ~AwsSigV4aSigner()

virtual smithy::AwsSigV4aSigner::~AwsSigV4aSigner ( )
inlinevirtual

Definition at line 84 of file SigV4aSigner.h.

Member Function Documentation

◆ createAwsSigningConfig()

bool smithy::AwsSigV4aSigner::createAwsSigningConfig ( std::shared_ptr< Aws::Crt::Auth::Credentials > &  crtCredentials,
const Aws::Http::HttpRequest request,
const Aws::String serviceName,
const Aws::String region,
Aws::Crt::Auth::AwsSigningConfig &  awsSigningConfig,
bool  signBody,
Aws::Crt::Auth::SignatureType  signatureType 
) const
inlineprotected

Definition at line 87 of file SigV4aSigner.h.

◆ presign()

SigningFutureOutcome smithy::AwsSigV4aSigner::presign ( std::shared_ptr< HttpRequest httpRequest,
const AwsCredentialIdentityBase identity,
SigningProperties  properties,
const Aws::String region,
const Aws::String serviceName,
long long  expirationTimeInSeconds 
)
inlineoverridevirtual

Implements smithy::AwsSignerBase< AwsCredentialIdentityBase >.

Definition at line 58 of file SigV4aSigner.h.

◆ ServiceRequireUnsignedPayload()

bool smithy::AwsSigV4aSigner::ServiceRequireUnsignedPayload ( const Aws::String serviceName) const
inlineprotected

Definition at line 274 of file SigV4aSigner.h.

◆ sign() [1/2]

SigningFutureOutcome smithy::AwsSigV4aSigner::sign ( std::shared_ptr< HttpRequest httpRequest,
const AwsCredentialIdentityBase identity,
SigningProperties  properties 
)
inlineoverridevirtual

Implements smithy::AwsSignerBase< AwsCredentialIdentityBase >.

Definition at line 53 of file SigV4aSigner.h.

◆ sign() [2/2]

SigningFutureOutcome smithy::AwsSigV4aSigner::sign ( std::shared_ptr< HttpRequest httpRequest,
const AwsCredentialIdentityBase identity,
SigningProperties  properties,
const Aws::String region,
const Aws::String svcName,
long long  expirationTimeInSeconds,
Aws::Crt::Auth::SignatureType  signatureType 
)
inlineprotected

Definition at line 156 of file SigV4aSigner.h.

Member Data Documentation

◆ m_cv

std::condition_variable smithy::AwsSigV4aSigner::m_cv
protected

Definition at line 294 of file SigV4aSigner.h.

◆ m_expirationTimeInSeconds

long long smithy::AwsSigV4aSigner::m_expirationTimeInSeconds {0}
protected

Definition at line 289 of file SigV4aSigner.h.

◆ m_includeSha256HashHeader

const bool smithy::AwsSigV4aSigner::m_includeSha256HashHeader {true}
protected

Definition at line 290 of file SigV4aSigner.h.

◆ m_mutex

std::mutex smithy::AwsSigV4aSigner::m_mutex
protected

Definition at line 295 of file SigV4aSigner.h.

◆ m_policy

std::shared_ptr<Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy> smithy::AwsSigV4aSigner::m_policy
protected

Definition at line 287 of file SigV4aSigner.h.

◆ m_region

Aws::String smithy::AwsSigV4aSigner::m_region
protected

Definition at line 286 of file SigV4aSigner.h.

◆ m_serviceName

Aws::String smithy::AwsSigV4aSigner::m_serviceName
protected

Definition at line 285 of file SigV4aSigner.h.

◆ m_signatureType

const Aws::Crt::Auth::SignatureType smithy::AwsSigV4aSigner::m_signatureType {Aws::Crt::Auth::SignatureType::HttpRequestViaHeaders}
protected

Definition at line 293 of file SigV4aSigner.h.

◆ m_unsignedHeaders

const Aws::Set<Aws::String> smithy::AwsSigV4aSigner::m_unsignedHeaders {USER_AGENT,X_AMZN_TRACE_ID}
protected

Definition at line 292 of file SigV4aSigner.h.

◆ m_urlEscape

const bool smithy::AwsSigV4aSigner::m_urlEscape {true}
protected

Definition at line 291 of file SigV4aSigner.h.


The documentation for this class was generated from the following file: