awslabs / awslabs/aws-crt-python

requests-compatible signer

Open
#342 5 comments 0 reactions 0 assignees View on GitHub
CRT/SDK feature-request p3
Dominant language
Python
Stars
100
Forks
58
Avg merge
13h 51m
Merged PRs (30d)
2

Description

This is a long-standing feature request of `botocore`: https://github.com/boto/botocore/issues/1784

Both `botocore` and this project use custom HTTP request representation, and the signing mechanism works against this custom representation. This makes it difficult to SigV4 sign an arbitrary request using the most-commonly and -recommended HTTP library `requests`, which is necessary when using API Gateway with IAM authentication.

The CRT bindings should provide a function compatible with the [`requests` auth interface](https://docs.python-requests.org/en/master/user/authentication/#new-forms-of-authentication) (that is, it takes a `requests.Request` and adds the SigV4 headers). This function could then be exposed by higher-level interfaces (e.g., boto3) without needing to translate a `requests.Request` into the CRT's custom HTTP request representation. I think this should be doable without adding a dependency on `requests`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.