AlexNest
@AlexNest
Работаю с Python/Django

Как правильно реализовать авторизацию через токен в django?

Разбираюсь c авторизацией в drf.
бекэнд

#settings.py
REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    ),
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.TokenAuthentication',
    )
}
#models.py
@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_auth_token(sender, instance=None, created=False, **kwargs):
    if created:
        Token.objects.create(user=instance)
#urls.py
urlpatterns = [

    ...
    path('rest-auth/',  rest_views.obtain_auth_token),
]


Из того, что я понял, логика авторизации следующая - на стороне клиента формируется json с логином/паролем, который посылается на сервер в obtain_auth_token. Токен из ответа сохраняется в условный конфиг файл и после этого отправляется в шапке с каждым запросом.
Насколько такая реализация правильна и есть более предпочтительные варианты?
  • Вопрос задан
  • 22 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы