diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-07-15 13:16:06 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-07-15 13:16:06 +0200 |
commit | 39b9d28faf50ec340e69e6389a7eba3e6d99f291 (patch) | |
tree | 9b71c81f2b9f8cb0bbd85dfb5f361d9c1ba71397 | |
parent | 348414a54856bd3bda2b391278bfba49c051fd65 (diff) | |
download | Ishtar-39b9d28faf50ec340e69e6389a7eba3e6d99f291.tar.bz2 Ishtar-39b9d28faf50ec340e69e6389a7eba3e6d99f291.zip |
Public API: token authentication
-rw-r--r-- | archaeological_finds/views.py | 5 | ||||
-rw-r--r-- | example_project/settings.py | 1 | ||||
-rw-r--r-- | ishtar_common/admin.py | 7 |
3 files changed, 11 insertions, 2 deletions
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index d5d5d88b6..763733bd9 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -20,6 +20,7 @@ from collections import OrderedDict import json +from rest_framework import authentication, permissions from rest_framework.views import APIView from rest_framework.response import Response @@ -1008,8 +1009,8 @@ class QAFindbasketDuplicateFormView(QAItemForm): class PublicFindAPI(APIView): - # authentication_classes = (authentication.TokenAuthentication,) - # permission_classes = (permissions.IsAdminUser,) + authentication_classes = (authentication.TokenAuthentication,) + permission_classes = (permissions.IsAuthenticated,) def get_queryset(self): empty = models.Find.objects.filter(pk=None) diff --git a/example_project/settings.py b/example_project/settings.py index 96feaa477..d7ecb4254 100644 --- a/example_project/settings.py +++ b/example_project/settings.py @@ -155,6 +155,7 @@ INSTALLED_APPS = [ 'ajax_select', 'compressor', 'rest_framework', + 'rest_framework.authtoken', 'django.contrib.auth', 'django.contrib.admin', 'django.contrib.contenttypes', diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index 75d223005..4449f7ba4 100644 --- a/ishtar_common/admin.py +++ b/ishtar_common/admin.py @@ -26,6 +26,9 @@ import tempfile import urllib import zipfile +from rest_framework.authtoken.admin import TokenAdmin +from rest_framework.authtoken.models import Token + from ajax_select import make_ajax_form from ajax_select.fields import AutoCompleteSelectField, \ AutoCompleteSelectMultipleField @@ -200,6 +203,10 @@ def export_as_geojson_action( return export_as_geojson +TokenAdmin.raw_id_fields = ('user',) +admin_site.register(Token, TokenAdmin) + + class HistorizedObjectAdmin(admin.ModelAdmin): readonly_fields = ['history_creator', 'history_modifier', 'search_vector'] |