Skip to content

Add support for AwsSv4 for external callout - #142

Merged
diksha-sf merged 1 commit into
forcedotcom:developfrom
diksha-sf:add-aws-sigv4-named-credential
Sep 10, 2026
Merged

diksha-sf merged 1 commit into
forcedotcom:developfrom
diksha-sf:add-aws-sigv4-named-credential

Conversation

@diksha-sf

Copy link
Copy Markdown
Collaborator

Verified end-to-end against a live org + AWS S3 (HTTP 200).

Screenshot 2026-09-09 at 7 34 29 PM

Support the AwsSv4 External Credential protocol in the local-dev direct
callout path so functions can call AWS services (e.g. S3) with SigV4
request signing injected client-side.

- credentials.py: add AWS_SIG_V4 = "AwsSv4" to the AuthType enum
- auth.py: sign requests in DynamicAuthHandler via a new _sign_aws_sigv4
  branch — builds the canonical request, string-to-sign, and chained
  HMAC-SHA256 signing key; sets Authorization and x-amz-* headers.
  Requires aws_access_key_id, aws_secret_access_key, aws_region, and
  aws_service; aws_session_token is signed when present.
- tests: validate signing against an independent SigV4 reference impl
  (frozen clock), plus empty-body hash, session-token, and missing-field
  cases
- README: document the AwsSv4 auth type and its config keys

Verified end-to-end against a live org + AWS S3 (HTTP 200).
@diksha-sf
diksha-sf merged commit 96877a5 into forcedotcom:develop Sep 10, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants