djangohmac package¶
Submodules¶
djangohmac.decorators module¶
-
djangohmac.decorators.
auth
(func=None, only=None)¶ Route decorator. Validates an incoming request can access the route function.
- Keyword Args:
- only (list): Optional list of clients that can access the view
class SignedView(View): @decorators.auth def get(self, request): return HttpResponse("For all services") @decorators.auth(only=['serviceA']) def post(self, request): return HttpResponse("Only for service A")
djangohmac.middleware module¶
djangohmac.sign module¶
-
class
djangohmac.sign.
Hmac
¶ Bases:
object
-
abort
()¶ Called when validation failed.
- Raises:
- PermissionDenied()
-
get_signature
(request)¶ Get signature from djagno requests
- Arguments:
- request: Django request
- Returns:
- string: HMAC signature
- Raises:
- SecretKeyIsNotSet
-
hmac_disarm
¶
-
hmac_key
¶
-
make_hmac
(data='', key=None)¶ Generates HMAC key
- Arguments:
- data (str): HMAC message key (str): secret key of another app
-
make_hmac_for
(name, data='')¶ Generates HMAC key for named key
- Arguments:
- name (str): key name from HMAC_SECRETS dict data (str): HMAC message
- Raises:
- UnknownKeyName
-
validate_multiple_signatures
(key_name, signature, request)¶ Validate signature from djagno request. But it takes key from HMAC_SECRETS list
- Arguments:
- request (request): Django request class only (list): Restricted only for this list of service
- Returns:
- boolen
- Raises:
- InvalidSignature
-
validate_signature
(request, only=None)¶ Validate signate in given request.
- Arguments:
- request: Django request only: list of keys from HMAC_SECRETS to restrict signatures
- Returns:
- boolean: True when signature is valid otherwice False
- Raises:
- InvalidSignature SecretKeyIsNotSet
-
validate_single_signature
(request)¶ Validate signature from djagno request
- Arguments:
- request (request): Django request class
- Returns:
- boolen
- Raises:
- InvalidSignature
-
-
exception
djangohmac.sign.
HmacException
¶ Bases:
exceptions.Exception
-
exception
djangohmac.sign.
InvalidSignature
¶
-
exception
djangohmac.sign.
SecretKeyIsNotSet
¶
-
exception
djangohmac.sign.
UnknownKeyName
¶
-
djangohmac.sign.
decode_string
(value)¶
-
djangohmac.sign.
encode_string
(value)¶