Added create_knox_token

as default_create_token fails
This commit is contained in:
Daniel Stanton 2017-01-24 14:34:06 +00:00
parent e9c4ecbc07
commit 83f4db64a4
2 changed files with 8 additions and 1 deletions

View File

@ -2,8 +2,10 @@ 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 (
JWTSerializer as DefaultJWTSerializer,
@ -12,7 +14,7 @@ from rest_auth.serializers import (
PasswordResetSerializer as DefaultPasswordResetSerializer,
PasswordResetConfirmSerializer as DefaultPasswordResetConfirmSerializer,
PasswordChangeSerializer as DefaultPasswordChangeSerializer)
from .utils import import_callable, default_create_token
from .utils import import_callable
create_token = import_callable(
getattr(settings, 'REST_AUTH_TOKEN_CREATOR', default_create_token))

View File

@ -16,6 +16,11 @@ def default_create_token(token_model, user, serializer):
return token
def create_knox_token(token_model, user, serializer):
token = token_model.objects.get_or_create(user=user)
return token
def jwt_encode(user):
try:
from rest_framework_jwt.settings import api_settings