Pass Knox serializer appropriate data format and separate from default

This commit is contained in:
Daniel Stanton 2017-01-24 14:54:14 +00:00
parent a2aa430d4a
commit 6f2319e20e
2 changed files with 12 additions and 2 deletions

View File

@ -1,13 +1,13 @@
from django.conf import settings
if getattr(settings, 'REST_AUTH_TOKEN_APP', False) is 'knox':
from rest_auth.serializers import KnoxTokenSerializer as DefaultTokenSerializer
from .utils import create_knox_token as default_create_token
else:
from rest_auth.serializers import TokenSerializer as DefaultTokenSerializer
from .utils import default_create_token
from rest_auth.serializers import (
TokenSerializer as DefaultTokenSerializer,
KnoxTokenSerializer as DefaultKnoxTokenSerializer,
JWTSerializer as DefaultJWTSerializer,
UserDetailsSerializer as DefaultUserDetailsSerializer,
LoginSerializer as DefaultLoginSerializer,
@ -27,6 +27,9 @@ TokenSerializer = import_callable(
JWTSerializer = import_callable(
serializers.get('JWT_SERIALIZER', DefaultJWTSerializer))
KnoxTokenSerializer = import_callable(
serializers.get('KNOX_TOKEN_SERIALIZER', DefaultKnoxTokenSerializer))
UserDetailsSerializer = import_callable(
serializers.get('USER_DETAILS_SERIALIZER', DefaultUserDetailsSerializer)
)

View File

@ -16,6 +16,7 @@ from allauth.account import app_settings as allauth_settings
from rest_auth.app_settings import (TokenSerializer,
JWTSerializer,
KnoxTokenSerializer,
create_token)
from rest_auth.models import TokenModel
from rest_auth.registration.serializers import (SocialLoginSerializer,
@ -49,6 +50,12 @@ class RegisterView(CreateAPIView):
'token': self.token
}
return JWTSerializer(data).data
if getattr(settings, 'REST_AUTH_TOKEN_APP', False) is 'knox':
data = {
'token': self.token
}
return KnoxTokenSerializer(data).data
else:
return TokenSerializer(self.token).data