Add JWTSerializerWithExpiration so the expiration dates are serialized correctly

This commit is contained in:
Joel Whitaker 2020-10-29 14:52:30 +00:00 committed by Michael
parent f923bb5a7c
commit 8a227ac60e
2 changed files with 12 additions and 1 deletions

View File

@ -178,6 +178,11 @@ class JWTSerializer(serializers.Serializer):
return user_data
class JWTSerializerWithExpiration(JWTSerializer):
access_token_expiration = serializers.DateTimeField()
refresh_token_expiration = serializers.DateTimeField()
class PasswordResetSerializer(serializers.Serializer):
"""
Serializer for requesting a password reset e-mail.

View File

@ -12,6 +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,
PasswordChangeSerializer,
PasswordResetConfirmSerializer,
@ -51,7 +52,12 @@ class LoginView(GenericAPIView):
def get_response_serializer(self):
if getattr(settings, 'REST_USE_JWT', False):
response_serializer = JWTSerializer
if getattr(settings, 'JWT_AUTH_RETURN_EXPIRATION', False):
response_serializer = JWTSerializerWithExpiration
else:
response_serializer = JWTSerializer
else:
response_serializer = TokenSerializer
return response_serializer