From f35255e8b1d77e69ef49760ae105120fa282ba64 Mon Sep 17 00:00:00 2001 From: Eric Blau Date: Thu, 5 Dec 2024 21:16:46 +0000 Subject: [PATCH] Configuration for cilogon_tokenauth --- .../Operations_Warehouse_Django/settings.py | 12 +++++++++++- Operations_Warehouse_Django/glue2/views.py | 4 +++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Operations_Warehouse_Django/Operations_Warehouse_Django/settings.py b/Operations_Warehouse_Django/Operations_Warehouse_Django/settings.py index ba9895f..d650d5e 100644 --- a/Operations_Warehouse_Django/Operations_Warehouse_Django/settings.py +++ b/Operations_Warehouse_Django/Operations_Warehouse_Django/settings.py @@ -61,6 +61,7 @@ 'web', 'dal', 'dal_select2', + 'cilogon_tokenauth', ] MIDDLEWARE = [ @@ -351,7 +352,9 @@ STATICFILES_DIRS = ( os.path.join( os.path.dirname(__file__), '../static' ), ) - + # For cilogon_tokenauth + CLIENT_KEY = CONF.get('CLIENT_KEY', None) + CLIENT_SECRET = CONF.get('CLIENT_SECRET', None) # # 'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly' REST_FRAMEWORK = { @@ -367,6 +370,9 @@ 'DEFAULT_PAGINATION_CLASS': "rest_framework.pagination.PageNumberPagination", 'PAGE_SIZE': 25, 'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema', + 'DEFAULT_AUTHENTICATION_CLASSES': [ + 'cilogon_tokenauth.auth.CITokenAuthentication', + ], } # REST_AUTH_REGISTER_PERMISSION_CLASSES = ( @@ -411,6 +417,10 @@ 'services': { 'handlers': ['file'], 'level': 'DEBUG' + }, + 'cilogon_tokenauth': { + 'handlers': ['file'], + 'level': 'DEBUG' } } } diff --git a/Operations_Warehouse_Django/glue2/views.py b/Operations_Warehouse_Django/glue2/views.py index aa748df..1a364a0 100644 --- a/Operations_Warehouse_Django/glue2/views.py +++ b/Operations_Warehouse_Django/glue2/views.py @@ -1056,7 +1056,9 @@ class Software_Full(APIView): ''' GLUE2 Software detailed information ApplicationHandle, ApplicationEnvironment, ... ''' - permission_classes = (IsAuthenticatedOrReadOnly,) + authentication_Classes = [ 'cilogon_tokenauth.auth.TokenAuthentication'] + #permission_classes = (IsAuthenticatedOrReadOnly,) + permission_classes = (IsAuthenticated,) serializer_class = Software_Community_Serializer def get(self, request, format=None, **kwargs): if 'id' in self.kwargs: