def is_authenticated(self, request, **kwargs): # session based if request.user.is_authenticated(): return True else: # check api_key if request.META.has_key('HTTP_AUTHORIZATION'): auth_header = request.META.get('HTTP_AUTHORIZATION') key = request.META.get('HTTP_ENCRYPTION_KEY') try: username, api_key = auth_header.split()[-1].split(':') # check auth user = User.objects.get(username=username) if user and user.api_key.key == api_key: # set encryption key set_user_encryption_key(user.username, key) # auth successful ; set request.user to user for # later user (authorization, filtering, etc.) request.user = user return True except: # invalid auth header pass return False
def set_key(request): nxt = request.GET.get('next', reverse('index')) key = request.POST.get('key') u = request.user set_user_encryption_key(u.username, key) return redirect(nxt)
def set_key(request): nxt = request.GET.get("next", reverse("index")) key = request.POST.get("key") u = request.user set_user_encryption_key(u.username, key) return redirect(nxt)