mirror of
https://github.com/Tivix/django-rest-auth.git
synced 2025-07-10 16:02:19 +03:00
Simplified logic for selections based on REST_USE_KNOX
This commit is contained in:
parent
5e790098ed
commit
fb8adc0aac
|
@ -1,10 +1,5 @@
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
if getattr(settings, 'REST_USE_KNOX', False):
|
|
||||||
from .utils import create_knox_token as default_create_token
|
|
||||||
else:
|
|
||||||
from .utils import default_create_token
|
|
||||||
|
|
||||||
from rest_auth.serializers import (
|
from rest_auth.serializers import (
|
||||||
TokenSerializer as DefaultTokenSerializer,
|
TokenSerializer as DefaultTokenSerializer,
|
||||||
KnoxSerializer as DefaultKnoxSerializer,
|
KnoxSerializer as DefaultKnoxSerializer,
|
||||||
|
@ -14,7 +9,7 @@ from rest_auth.serializers import (
|
||||||
PasswordResetSerializer as DefaultPasswordResetSerializer,
|
PasswordResetSerializer as DefaultPasswordResetSerializer,
|
||||||
PasswordResetConfirmSerializer as DefaultPasswordResetConfirmSerializer,
|
PasswordResetConfirmSerializer as DefaultPasswordResetConfirmSerializer,
|
||||||
PasswordChangeSerializer as DefaultPasswordChangeSerializer)
|
PasswordChangeSerializer as DefaultPasswordChangeSerializer)
|
||||||
from .utils import import_callable
|
from .utils import import_callable, default_create_token
|
||||||
|
|
||||||
create_token = import_callable(
|
create_token = import_callable(
|
||||||
getattr(settings, 'REST_AUTH_TOKEN_CREATOR', default_create_token))
|
getattr(settings, 'REST_AUTH_TOKEN_CREATOR', default_create_token))
|
||||||
|
|
|
@ -1,12 +1,6 @@
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
if getattr(settings, 'REST_USE_KNOX', False):
|
from rest_framework.authtoken.models import Token as DefaultTokenModel
|
||||||
try:
|
|
||||||
from knox.models import AuthToken as DefaultTokenModel
|
|
||||||
except ImportError:
|
|
||||||
raise ImportError("Install django-rest-knox to use REST_USE_KNOX = True")
|
|
||||||
else:
|
|
||||||
from rest_framework.authtoken.models import Token as DefaultTokenModel
|
|
||||||
|
|
||||||
from .utils import import_callable
|
from .utils import import_callable
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ from rest_auth.app_settings import (TokenSerializer,
|
||||||
from rest_auth.models import TokenModel
|
from rest_auth.models import TokenModel
|
||||||
from rest_auth.registration.serializers import (SocialLoginSerializer,
|
from rest_auth.registration.serializers import (SocialLoginSerializer,
|
||||||
VerifyEmailSerializer)
|
VerifyEmailSerializer)
|
||||||
from rest_auth.utils import jwt_encode
|
from rest_auth.utils import create_knox_token, jwt_encode
|
||||||
from rest_auth.views import LoginView
|
from rest_auth.views import LoginView
|
||||||
from .app_settings import RegisterSerializer
|
from .app_settings import RegisterSerializer
|
||||||
|
|
||||||
|
@ -73,6 +73,8 @@ class RegisterView(CreateAPIView):
|
||||||
user = serializer.save(self.request)
|
user = serializer.save(self.request)
|
||||||
if getattr(settings, 'REST_USE_JWT', False):
|
if getattr(settings, 'REST_USE_JWT', False):
|
||||||
self.token = jwt_encode(user)
|
self.token = jwt_encode(user)
|
||||||
|
elif getattr(settings, 'REST_USE_KNOX', False):
|
||||||
|
self.token = create_knox_token(user)
|
||||||
else:
|
else:
|
||||||
self.token = create_token(self.token_model, user, serializer)
|
self.token = create_token(self.token_model, user, serializer)
|
||||||
|
|
||||||
|
|
|
@ -16,8 +16,12 @@ def default_create_token(token_model, user, serializer):
|
||||||
return token
|
return token
|
||||||
|
|
||||||
|
|
||||||
def create_knox_token(token_model, user, serializer):
|
def create_knox_token(user):
|
||||||
token = token_model.objects.create(user=user)
|
try:
|
||||||
|
from knox.models import AuthToken
|
||||||
|
except ImportError:
|
||||||
|
raise ImportError("django-rest-knox needs to be installed")
|
||||||
|
token = AuthToken.objects.create(user=user)
|
||||||
return token
|
return token
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ from .app_settings import (
|
||||||
JWTSerializer, create_token
|
JWTSerializer, create_token
|
||||||
)
|
)
|
||||||
from .models import TokenModel
|
from .models import TokenModel
|
||||||
from .utils import jwt_encode
|
from .utils import create_knox_token, jwt_encode
|
||||||
|
|
||||||
if getattr(settings, 'REST_USE_KNOX', False):
|
if getattr(settings, 'REST_USE_KNOX', False):
|
||||||
try:
|
try:
|
||||||
|
@ -72,6 +72,8 @@ class LoginView(GenericAPIView):
|
||||||
|
|
||||||
if getattr(settings, 'REST_USE_JWT', False):
|
if getattr(settings, 'REST_USE_JWT', False):
|
||||||
self.token = jwt_encode(self.user)
|
self.token = jwt_encode(self.user)
|
||||||
|
elif getattr(settings, 'REST_USE_KNOX', False):
|
||||||
|
self.token = create_knox_token(self.user)
|
||||||
else:
|
else:
|
||||||
self.token = create_token(self.token_model, self.user,
|
self.token = create_token(self.token_model, self.user,
|
||||||
self.serializer)
|
self.serializer)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user