DevGang
Авторизоваться

Python: создание токенов без моделей аутентификации Django

Привет! Новичку в django_restframework сложно работать с токенами без предварительного создания модели учетной записи BaseUserManager и абстрагирования ее, чтобы иметь возможность доступа к функциям AuthToken restframework. Я имею в виду следующее:

По сути, вы можете создавать токены для своей обычной модели, но это требует некоторой работы. Я имею в виду, если ваша модель такая:

Все, что вам нужно сделать, это:

  • Создать новый файл Python в своем приложении и дать ему имя. Этот файл предназначен для обработки токенов, я назвал его tokenizer.py.
  • Создать еще один файл, обрабатывающий получение токенов, я назвал свой token_getter.py.
  • Теперь нужно создать третий файл, который обрабатывает проверку токена, назовите его так, как вы считаете лучшим на свой вкус. Я назвал его auth_validity.py.
views.py
from .auth_validity import is_authenticated
from .token_getter import get_token
from .tokenizer import AuthToken

AuthToken.objects.create(user=account)

obj = Account.objects.get(email_address = account.email_address)
obj.token = AuthToken.objects.get(user=obj).key
obj.save()

if is_authenticated(request):
    account = Account.objects.get(token = get_token(request))

Ну, я не знаю, насколько безопасна эта реализация, но проще, если вы хотите избежать использования AbstractBaseUser и BaseUserManager, чтобы получить доступ к аутентификации токена в django restframework. Надеюсь, это поможет кому-то, кто ищет более простой выход без добавления дополнительных пакетов или использования BaseUserManager.

Источник:

#Django
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу