awslabs / awslabs/aws-crt-python
requests-compatible signer
- 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
Assessment
This issue has not been assessed yet.