reqsign-aws-v4
AWS SigV4 signing implementation for reqsign.
Quick Start
use ;
use ;
use TokioFileRead;
use ReqwestHttpSend;
async
Default Credential Chain
DefaultCredentialProvider::new() builds the documented AWS default chain:
envprofilessoweb_identityprocessecsimds
On wasm32, the non-portable sso and process slots are not available.
S3 Express Authentication
RequestSigner::new("s3express", region) uses the S3 Express CreateSession
token representation by default. Use with_standard_session_token() for
operations that require IAM credentials, including CopyObject, HeadBucket,
and UploadPartCopy. The same selection applies to header and query
authentication.
use RequestSigner;
let _session_signer = new;
let _iam_signer = new
.with_standard_session_token;
Select a Profile
Use with_profile(...) to select one profile consistently for the shared
profile, SSO, and process credential sources. The explicit selection takes
precedence over AWS_PROFILE.
use DefaultCredentialProvider;
let provider = builder
.with_profile
.build;
Customize Slots
Use DefaultCredentialProvider::builder() to replace or remove individual slots.
Each slot is represented by Option<T> internally: slot(provider) enables it,
no_slot() removes it, and build() only pushes Some(...) slots into the
chain.
use ;
let provider = builder
.no_env
.profile
.no_imds
.build;
For advanced composition, use DefaultCredentialProvider::with_chain(...) or
prepend a higher-priority source with DefaultCredentialProvider::push_front(...).
S3 Access Grants
Use S3AccessGrantsGranter to authorize one typed GetDataAccess request with
an existing AWS credential and return the temporary credential issued by S3
Access Grants. The result can be passed directly to the existing AWS signer.
use Duration;
use ;
use ;
use ReqwestHttpSend;
# async