Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class IsAuthenticated(object):
- @staticmethod
- def has_permission(permission):
- def real_decorator(function):
- def function_wrapper(self, request, *args, **kwargs):
- try:
- x_key = request.META['HTTP_X_KEY']
- x_route = request.META['HTTP_X_ROUTE']
- x_signature = request.META['HTTP_X_SIGNATURE']
- x_route = x_route.split(';')
- x_route.sort()
- x_route = ';'.join(x_route)
- x_route = str.encode(x_route)
- signature = hmac.new(x_route, str.encode(x_key))
- if x_signature == signature.hexdigest():
- return function(self, request, *args, **kwargs)
- raise PermissionDenied()
- except Exception as e:
- print(str(e))
- raise PermissionDenied()
- raise PermissionDenied()
- return function_wrapper
- return real_decorator
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement