예제 #1
0
파일: api_v1.py 프로젝트: Narga/locksmith
 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
예제 #2
0
 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
예제 #3
0
파일: views.py 프로젝트: skynet/locksmith
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)
예제 #4
0
파일: views.py 프로젝트: acaranta/locksmith
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)
예제 #5
0
파일: views.py 프로젝트: Narga/locksmith
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)