mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-14 14:52:15 +00:00
Auth via API key, also added Admin interface to edit keys
This commit is contained in:
24
api/auth.py
Normal file
24
api/auth.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from django.http import HttpResponseForbidden
|
||||
from django.contrib.auth.models import AnonymousUser
|
||||
from api.models import AuthAPIKey
|
||||
|
||||
class APIKeyAuthentication(object):
|
||||
|
||||
def is_authenticated(self, request):
|
||||
|
||||
apikey = request.GET.get('apikey', None)
|
||||
if apikey:
|
||||
try:
|
||||
keyobj = AuthAPIKey.objects.get(key=apikey)
|
||||
except:
|
||||
keyobj = None
|
||||
|
||||
if keyobj and keyobj.active:
|
||||
request.user = AnonymousUser()
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def challenge(self):
|
||||
return HttpResponseForbidden('Access Denied, use a API Key')
|
||||
|
||||
Reference in New Issue
Block a user