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
это выглядит так: