Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Provides easy integration of the HMAC signatures for your REST Django Applications.

Project Description
Django-HMAC
==========

|circle| |downloads| |version| |license| |docs|

This module provides a middleware for HMAC signature Django views. It's simply
designed to check that a client is entitled to access routes, based on the fact
that it must possess a copy of the secret key.

Key features:
~~~~~~~~~~~~~
- HMAC Middleware
- HMAC View decorators
- Multiple keys for more services
- Service restricted access

Small example
~~~~~~~~~~~~~

.. sourcecode:: python

class SignedView(View):

@decorators.auth
def get(self, request):
return HttpResponse("for all services")

@decorators.auth(only=['userservice'])
def post(self, request):
return HttpResponse("Only for user service")


Dev
---

To run all tests

.. sourcecode::

docker run -it -v $PWD:/src -w /src ikalnitsky/pythonista tox


.. |circle| image:: https://img.shields.io/circleci/project/thisissoon/djangohmac.svg
:target: https://circleci.com/gh/thisissoon/djangohmac

.. |downloads| image:: http://img.shields.io/pypi/dm/djangohmac.svg
:target: https://pypi.python.org/pypi/djangohmac

.. |version| image:: http://img.shields.io/pypi/v/djangohmac.svg
:target: https://pypi.python.org/pypi/djangohmac

.. |license| image:: http://img.shields.io/pypi/l/djangohmac.svg
:target: https://pypi.python.org/pypi/djangohmac

.. |docs| image:: https://readthedocs.org/projects/djangohmac/badge/?version=latest
:target: http://djangohmac.readthedocs.org/en/latest/?badge=latest

Change Log
----------

1.3.2
~~~~~
- Fix - unicode key

1.3.1
~~~~~
- Get rid of brackets in decorator
- Bugfix: valid signature for resticted view passed validation

1.3.0
~~~~~
- Merge validation of multiple and single signature to single method
- Replace middleware classes to one single class HmacMiddleware

1.2.0
~~~~~
- Decorators

1.0.5
~~~~~
- Fix: Django HTTP headers

1.0.4
~~~~~
- Fix: use base64.b64encode instead of base64.urlsafe_b64encode

1.0.2
~~~~~
- Fix: HMAC_SECRET should be optional
- `GlobalHmacMiddleware` and `MultipleHmacMiddleware`

0.0.1
~~~~~
- Initial release including the core feature set
Release History

Release History

This version
History Node

1.3.2

History Node

1.3.1

History Node

1.3.0

History Node

1.2.1

History Node

1.2.0

History Node

1.0.5

History Node

1.0.4

History Node

1.0.3

History Node

1.0.2

History Node

1.0.1

History Node

0.0.1

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
djangohmac-1.3.2.tar.gz (4.6 kB) Copy SHA256 Checksum SHA256 Source Jan 5, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting