Include User Details for Knox responses

Knox includes User details after successful login. This should be replicated when using knox for Login and Registration.
This commit is contained in:
Daniel Stanton 2017-01-25 16:00:58 +00:00
parent 89dd206128
commit abb0ae963e
3 changed files with 10 additions and 7 deletions

View File

@ -52,6 +52,7 @@ class RegisterView(CreateAPIView):
return JWTSerializer(data).data return JWTSerializer(data).data
elif getattr(settings, 'REST_USE_KNOX', False): elif getattr(settings, 'REST_USE_KNOX', False):
data = { data = {
'token': self.user,
'token': self.token 'token': self.token
} }
return KnoxTokenSerializer(data).data return KnoxTokenSerializer(data).data

View File

@ -119,13 +119,6 @@ class TokenSerializer(serializers.ModelSerializer):
fields = ('key',) fields = ('key',)
class KnoxTokenSerializer(serializers.Serializer):
"""
Serializer for Knox AuthToken model.
"""
token = serializers.CharField()
class UserDetailsSerializer(serializers.ModelSerializer): class UserDetailsSerializer(serializers.ModelSerializer):
""" """
User model w/o password User model w/o password
@ -152,6 +145,14 @@ class JWTSerializer(serializers.Serializer):
user = JWTUserDetailsSerializer() user = JWTUserDetailsSerializer()
class KnoxTokenSerializer(serializers.Serializer):
"""
Serializer for Knox AuthToken model.
"""
token = serializers.CharField()
user = JWTUserDetailsSerializer()
class PasswordResetSerializer(serializers.Serializer): class PasswordResetSerializer(serializers.Serializer):
""" """
Serializer for requesting a password reset e-mail. Serializer for requesting a password reset e-mail.

View File

@ -91,6 +91,7 @@ class LoginView(GenericAPIView):
context={'request': self.request}) context={'request': self.request})
elif getattr(settings, 'REST_USE_KNOX', False): elif getattr(settings, 'REST_USE_KNOX', False):
data = { data = {
'user': self.user,
'token': self.token 'token': self.token
} }
serializer = serializer_class(instance=data, serializer = serializer_class(instance=data,