AWS IoT Device SDK C++ v2  1.33.0
AWS IoT Device SDK C++ v2
Namespaces | Classes | Typedefs | Enumerations | Functions
Aws::Crt::Auth Namespace Reference

Namespaces

 SignedBodyValue
 

Classes

class  AwsSigningConfig
 
struct  CognitoLoginPair
 
class  Credentials
 
class  CredentialsProvider
 
struct  CredentialsProviderCachedConfig
 
struct  CredentialsProviderCallbackArgs
 
struct  CredentialsProviderChainConfig
 
struct  CredentialsProviderChainDefaultConfig
 
struct  CredentialsProviderCognitoConfig
 
struct  CredentialsProviderDelegateConfig
 
struct  CredentialsProviderImdsConfig
 
struct  CredentialsProviderProfileConfig
 
struct  CredentialsProviderStaticConfig
 
struct  CredentialsProviderSTSConfig
 
struct  CredentialsProviderX509Config
 
struct  DelegateCredentialsProviderCallbackArgs
 
struct  HttpSignerCallbackData
 
class  ICredentialsProvider
 
class  IHttpRequestSigner
 
class  ISigningConfig
 
class  Sigv4HttpRequestSigner
 

Typedefs

using OnCredentialsResolved = std::function< void(std::shared_ptr< Credentials >, int errorCode)>
 
using GetCredentialsHandler = std::function< std::shared_ptr< Credentials >()>
 
using OnHttpRequestSigningComplete = std::function< void(const std::shared_ptr< Aws::Crt::Http::HttpRequest > &, int)>
 
using ShouldSignHeaderCb = bool(*)(const Crt::ByteCursor *, void *)
 

Enumerations

enum  SigningConfigType { SigningConfigType::Aws = AWS_SIGNING_CONFIG_AWS }
 
enum  SigningAlgorithm { SigningAlgorithm::SigV4 = AWS_SIGNING_ALGORITHM_V4, SigningAlgorithm::SigV4A = AWS_SIGNING_ALGORITHM_V4_ASYMMETRIC }
 
enum  SignatureType { SignatureType::HttpRequestViaHeaders = AWS_ST_HTTP_REQUEST_HEADERS, SignatureType::HttpRequestViaQueryParams = AWS_ST_HTTP_REQUEST_QUERY_PARAMS, SignatureType::HttpRequestChunk = AWS_ST_HTTP_REQUEST_CHUNK, SignatureType::HttpRequestEvent = AWS_ST_HTTP_REQUEST_EVENT }
 
enum  SignedBodyHeaderType { SignedBodyHeaderType::None = AWS_SBHT_NONE, SignedBodyHeaderType::XAmzContentSha256 = AWS_SBHT_X_AMZ_CONTENT_SHA256 }
 

Functions

static std::shared_ptr< ICredentialsProviders_CreateWrappedProvider (struct aws_credentials_provider *raw_provider, Allocator *allocator)
 
static int s_onDelegateGetCredentials (void *delegate_user_data, aws_on_get_credentials_callback_fn callback, void *callback_user_data)
 
static void s_onDelegateShutdownComplete (void *user_data)
 
static void s_http_signing_complete_fn (struct aws_signing_result *result, int errorCode, void *userdata)
 

Typedef Documentation

◆ GetCredentialsHandler

using Aws::Crt::Auth::GetCredentialsHandler = typedef std::function<std::shared_ptr<Credentials>()>

Invoked when the native delegate credentials provider needs to fetch a credential.

◆ OnCredentialsResolved

using Aws::Crt::Auth::OnCredentialsResolved = typedef std::function<void(std::shared_ptr<Credentials>, int errorCode)>

Callback invoked by credentials providers when resolution succeeds (credentials will be non-null) or fails (credentials will be null)

◆ OnHttpRequestSigningComplete

using Aws::Crt::Auth::OnHttpRequestSigningComplete = typedef std::function<void(const std::shared_ptr<Aws::Crt::Http::HttpRequest> &, int)>

HTTP signing callback. The second parameter is an aws error code, The signing was successful if the error code is AWS_ERROR_SUCCESS.

◆ ShouldSignHeaderCb

using Aws::Crt::Auth::ShouldSignHeaderCb = typedef bool (*)(const Crt::ByteCursor *, void *)

Enumeration Type Documentation

◆ SignatureType

What kind of AWS signature should be computed?

Enumerator
HttpRequestViaHeaders 

A signature for a full http request should be computed, with header updates applied to the signing result.

HttpRequestViaQueryParams 

A signature for a full http request should be computed, with query param updates applied to the signing result.

HttpRequestChunk 

Compute a signature for a payload chunk.

HttpRequestEvent 

Compute a signature for an event stream event.

This option is not yet supported.

◆ SignedBodyHeaderType

Controls if signing adds a header containing the canonical request's body value

Enumerator
None 

Do not add a header

XAmzContentSha256 

Add the "x-amz-content-sha256" header with the canonical request's body value

◆ SigningAlgorithm

Enumeration indicating what version of the AWS signing process we should use.

Enumerator
SigV4 

Standard AWS Sigv4 signing using a symmetric secret, per https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html

SigV4A 

A variant of AWS Sigv4 signing that uses ecdsa signatures based on an ECC key, rather than relying on a shared secret.

◆ SigningConfigType

RTTI indicator for signing configuration. We currently only support a single type (AWS), but we could expand to others in the future if needed.

Enumerator
Aws 

Function Documentation

◆ s_CreateWrappedProvider()

static std::shared_ptr<ICredentialsProvider> Aws::Crt::Auth::s_CreateWrappedProvider ( struct aws_credentials_provider *  raw_provider,
Allocator allocator 
)
static

◆ s_http_signing_complete_fn()

static void Aws::Crt::Auth::s_http_signing_complete_fn ( struct aws_signing_result *  result,
int  errorCode,
void *  userdata 
)
static

◆ s_onDelegateGetCredentials()

static int Aws::Crt::Auth::s_onDelegateGetCredentials ( void *  delegate_user_data,
aws_on_get_credentials_callback_fn  callback,
void *  callback_user_data 
)
static

◆ s_onDelegateShutdownComplete()

static void Aws::Crt::Auth::s_onDelegateShutdownComplete ( void *  user_data)
static