AWS IoT Device SDK C++ v2 1.44.1
AWS IoT Device SDK C++ v2
Loading...
Searching...
No Matches
Aws::Crt::Auth Namespace Reference

Namespaces

namespace  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  CredentialsProviderLoginConfig
struct  CredentialsProviderProfileConfig
struct  CredentialsProviderStaticConfig
struct  CredentialsProviderSTSConfig
struct  CredentialsProviderSTSWebIdentityConfig
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
using ShouldSignHeaderCb = bool (*)(const Crt::ByteCursor *, void *)

Enumerations

enum class  SigningConfigType { Aws = AWS_SIGNING_CONFIG_AWS }
enum class  SigningAlgorithm { SigV4 = AWS_SIGNING_ALGORITHM_V4 , SigV4A = AWS_SIGNING_ALGORITHM_V4_ASYMMETRIC }
enum class  SignatureType { HttpRequestViaHeaders = AWS_ST_HTTP_REQUEST_HEADERS , HttpRequestViaQueryParams = AWS_ST_HTTP_REQUEST_QUERY_PARAMS , HttpRequestChunk = AWS_ST_HTTP_REQUEST_CHUNK , HttpRequestEvent = AWS_ST_HTTP_REQUEST_EVENT }
enum class  SignedBodyHeaderType { None = AWS_SBHT_NONE , 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 = std::function<std::shared_ptr<Credentials>()>

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

◆ OnCredentialsResolved

using Aws::Crt::Auth::OnCredentialsResolved = 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

Initial value:
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 = bool (*)(const Crt::ByteCursor *, void *)

Enumeration Type Documentation

◆ SignatureType

enum class Aws::Crt::Auth::SignatureType
strong

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()

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

◆ s_http_signing_complete_fn()

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

◆ s_onDelegateGetCredentials()

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

◆ s_onDelegateShutdownComplete()

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