Skip to content
This repository was archived by the owner on May 26, 2020. It is now read-only.

Commit 3b5eec9

Browse files
committed
Refactored views to inherit from a base JWT API view. Removed i18n from a dev-facing serializer error.
1 parent 2b15582 commit 3b5eec9

File tree

2 files changed

+14
-25
lines changed

2 files changed

+14
-25
lines changed

rest_framework_jwt/serializers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ class VerificationBaseSerializer(Serializer):
8888
token = serializers.CharField()
8989

9090
def validate(self, attrs):
91-
msg = _('Please define a validate method.')
91+
msg = 'Please define a validate method.'
9292
raise NotImplementedError(msg)
9393

9494
def _check_payload(self, token):

rest_framework_jwt/views.py

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,15 @@
1414
jwt_response_payload_handler = api_settings.JWT_RESPONSE_PAYLOAD_HANDLER
1515

1616

17-
class ObtainJSONWebToken(APIView):
17+
class JWTAPIView(APIView):
1818
"""
19-
API View that receives a POST with a user's username and password.
20-
21-
Returns a JSON Web Token that can be used for authenticated requests.
19+
Base API View that various JWT interactions inherit from.
2220
"""
2321
throttle_classes = ()
2422
permission_classes = ()
2523
authentication_classes = ()
2624
parser_classes = (parsers.FormParser, parsers.JSONParser,)
2725
renderer_classes = (renderers.JSONRenderer,)
28-
serializer_class = JSONWebTokenSerializer
2926

3027
def post(self, request):
3128
serializer = self.serializer_class(data=request.DATA)
@@ -40,32 +37,24 @@ def post(self, request):
4037
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
4138

4239

43-
class VerifyJSONWebToken(APIView):
40+
class ObtainJSONWebToken(JWTAPIView):
41+
"""
42+
API View that receives a POST with a user's username and password.
43+
44+
Returns a JSON Web Token that can be used for authenticated requests.
45+
"""
46+
serializer_class = JSONWebTokenSerializer
47+
48+
49+
class VerifyJSONWebToken(JWTAPIView):
4450
"""
4551
API View that checks the veracity of a token, returning the token if it
4652
is valid.
4753
"""
48-
throttle_classes = ()
49-
permission_classes = ()
50-
authentication_classes = ()
51-
parser_classes = (parsers.FormParser, parsers.JSONParser,)
52-
renderer_classes = (renderers.JSONRenderer,)
5354
serializer_class = VerifyJSONWebTokenSerializer
5455

55-
def post(self, request):
56-
serializer = self.serializer_class(data=request.DATA)
57-
58-
if serializer.is_valid():
59-
user = serializer.object.get('user') or request.user
60-
token = serializer.object.get('token')
61-
response_data = jwt_response_payload_handler(token, user, request)
62-
63-
return Response(response_data)
64-
65-
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
66-
6756

68-
class RefreshJSONWebToken(VerifyJSONWebToken):
57+
class RefreshJSONWebToken(JWTAPIView):
6958
"""
7059
API View that returns a refreshed token (with new expiration) based on
7160
existing token

0 commit comments

Comments
 (0)