From 2ec9701f0653e19cb35f4fa0e13592537d24e5a6 Mon Sep 17 00:00:00 2001 From: Joel Whitaker Date: Thu, 29 Oct 2020 15:05:02 +0000 Subject: [PATCH] Fix import and allow the JWTSerializerWithExpiration to be overridable --- dj_rest_auth/app_settings.py | 3 +++ dj_rest_auth/serializers.py | 3 +++ dj_rest_auth/views.py | 3 +-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/dj_rest_auth/app_settings.py b/dj_rest_auth/app_settings.py index 0b28085..d2a4b85 100644 --- a/dj_rest_auth/app_settings.py +++ b/dj_rest_auth/app_settings.py @@ -1,4 +1,5 @@ from dj_rest_auth.serializers import JWTSerializer as DefaultJWTSerializer +from dj_rest_auth.serializers import JWTSerializerWithExpiration as DefaultJWTSerializerWithExpiration from dj_rest_auth.serializers import LoginSerializer as DefaultLoginSerializer from dj_rest_auth.serializers import \ PasswordChangeSerializer as DefaultPasswordChangeSerializer @@ -21,6 +22,8 @@ TokenSerializer = import_callable(serializers.get('TOKEN_SERIALIZER', DefaultTok JWTSerializer = import_callable(serializers.get('JWT_SERIALIZER', DefaultJWTSerializer)) +DefaultJWTSerializerWithExpiration = import_callable(serializers.get('JWT_SERIALIZER_WITH_EXPIRATION', DefaultJWTSerializerWithExpiration)) + UserDetailsSerializer = import_callable(serializers.get('USER_DETAILS_SERIALIZER', DefaultUserDetailsSerializer)) LoginSerializer = import_callable(serializers.get('LOGIN_SERIALIZER', DefaultLoginSerializer)) diff --git a/dj_rest_auth/serializers.py b/dj_rest_auth/serializers.py index 57c375d..2b879aa 100644 --- a/dj_rest_auth/serializers.py +++ b/dj_rest_auth/serializers.py @@ -179,6 +179,9 @@ class JWTSerializer(serializers.Serializer): class JWTSerializerWithExpiration(JWTSerializer): + """ + Serializer for JWT authentication with expiration times. + """ access_token_expiration = serializers.DateTimeField() refresh_token_expiration = serializers.DateTimeField() diff --git a/dj_rest_auth/views.py b/dj_rest_auth/views.py index 366118c..4081fc9 100644 --- a/dj_rest_auth/views.py +++ b/dj_rest_auth/views.py @@ -12,8 +12,7 @@ from rest_framework.permissions import AllowAny, IsAuthenticated from rest_framework.response import Response from rest_framework.views import APIView -from serializers import JWTSerializerWithExpiration -from .app_settings import (JWTSerializer, LoginSerializer, +from .app_settings import (JWTSerializer, JWTSerializerWithExpiration, LoginSerializer, PasswordChangeSerializer, PasswordResetConfirmSerializer, PasswordResetSerializer, TokenSerializer,