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
==========
|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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
djangohmac-1.3.2.tar.gz
(4.6 kB
view hashes)