Как получить пользовательские токены simpleJWT в представлениях с помощью Django?
У меня есть пользовательский сериализатор для получения токенов без пароля для пользователя:
class ObtainTokensWithoutPasswordSerializer(TokenObtainPairSerializer):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['password'].required = False
def validate(self, attrs):
attrs.update({'password': ''})
return super(TokenObtainPairWithoutPasswordSerializer, self).validate(attrs)
В своих представлениях я использую его следующим образом:
class ObtainTokensWithoutPasswordView(TokenViewBase):
serializer_class = ObtainTokensWithoutPasswordSerializer
И, наконец, вот url для получения токенов:
path('token/', views.ObtainTokensWithoutPasswordView.as_view()),
Выполнение запроса к этому url возвращает токены правильно, но мне нужно получить пару токенов в другом классе в views.py
. Могу ли я сделать это как-то иначе, используя мой класс serializer, например, что-то вроде этого:
class UserClass(generics.ListCreateAPIView):
permission_classes = (AllowAny,)
serializer_class = UserSerializer
def post(self, request):
...
tokens = ObtainTokensWithoutPasswordSerializer