Skip to content

Conversation

@mikpe
Copy link
Collaborator

@mikpe mikpe commented Mar 12, 2025

This adds support for AWS' Asymmetric Signature Version 4, aka SigV4a. The implementation is closely modelled after AWS' Go implementation (https://github.com/aws/smithy-go/tree/main/aws-http-auth). All relevant test cases have been ported over as well.

Following the structure of the Go original does lead to some code duplication with the existing plain SigV4 Erlang code, but that can be addressed by followup refactoring. I didn't want to tear that code apart right now.

-include("aws_sigv4_internal.hrl").

-spec derive(aws_sigv4_internal:credentials()) -> {ok, binary()} | {error, any()}.
derive(Credentials) ->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This function is why I love Erlang ❤️ So much easier to follow than the Go-code IMHO 😄

@onno-vos-dev
Copy link
Member

Amazing work @mikpe ❤️

@mikpe mikpe merged commit 81caaec into aws-beam:main Mar 13, 2025
4 checks passed
@mikpe
Copy link
Collaborator Author

mikpe commented Mar 13, 2025

I'll start on the cleanups next.

@mikpe mikpe deleted the add-aws-sigv4a-support branch March 13, 2025 18:09
@mikpe mikpe mentioned this pull request Mar 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants