Skip to main content

Signs and validates HTTP requests based on a shared-secret HMAC signature

Project description

# hmac_authentication Python package

Signs and authenticates HTTP requests based on a shared-secret HMAC signature.

Developed in parallel with the following packages for other languages: - Go: [github.com/18F/hmacauth](https://github.com/18F/hmacauth/) - Ruby: [hmac_authentication](https://rubygems.org/gems/hmac_authentication) - Node.js: [hmac-authentication](https://www.npmjs.com/package/hmac-authentication)

## Installation

`sh $ pip install hmac-authentication `

## Validating incoming requests

Inject something resembling the following code fragment into your request handling logic as the first thing that happens before the request body is parsed, where headers is a list of headers factored into the signature and secret_key is the shared secret between your application and the service making the request:

_…coming soon…_

## Signing outgoing requests

_…coming soon…_

## Running tests

`sh $ pip install nose $ nosetests `

## Public domain

This project is in the worldwide [public domain](LICENSE.md). As stated in [CONTRIBUTING](CONTRIBUTING.md):

> This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). > > All contributions to this project will be released under the CC0 >dedication. By submitting a pull request, you are agreeing to comply >with this waiver of copyright interest.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hmac_authentication-1.0.0.tar.gz (5.2 kB view details)

Uploaded Source

File details

Details for the file hmac_authentication-1.0.0.tar.gz.

File metadata

File hashes

Hashes for hmac_authentication-1.0.0.tar.gz
Algorithm Hash digest
SHA256 edc739fe2daa2b0977bb11bc30394d6d324fd5aa7b8cf69c22a25ca4b3368f94
MD5 9fd62f6e819c419516403ef352ff80e9
BLAKE2b-256 8a69214136c10cde7d2c5ac1ef2b61632f218a3b63b97e42963ae0e34beffba3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page