Skip to content

Djoser

Авторизация и регистрация по токенам

Для реализации авторизации и регистрации по токенам будем использовать JWT (JSON Web Token). Для этого в settings.py добавим следующие настройки:

REST_FRAMEWORK = {
    "DEFAULT_AUTHENTICATION_CLASSES": [
        "rest_framework_simplejwt.authentication.JWTAuthentication",
    ],
}

SIMPLE_JWT = {
    "AUTH_HEADER_TYPES": ("Bearer",),
}

Теперь в urls.py добавим следующие пути:

urlpatterns = [
    path("auth/", include("djoser.urls")),
    path("auth/", include("djoser.urls.jwt")),
    # ...
]

Теперь можно зарегистрироваться и авторизоваться по токену. Документация по djoser описана в разделе API/Авторизация.

Пример работы

Реализуем простой фронтенд для демонстрации работы Djoser. С помощью JS-скриптов будем сохранять полученные от сервера токены в локальное хранилище браузера и использовать их при посылке запросов.

Зайдём на главную страницу сайта.

Главная_страница

Зарегистрируем нового пользователя.

Регистрация

Новый пользователь появился в базе данных.

Пользователь_в_базе_данных

Перейдём на страницу входа.

Страница_входа

После входа видим информацию о пользователе.

Информация_о_пользователе

Со стороны пользователя admin это выглядит так:

Информация_о_пользователе_со_стороны_администратора