0Pricing
Django Academy · Урок

Аутентификация по токенам и JWT

Безопасно аутентифицируйте клиентов API

«Аутентификация по токенам и JWT» — бесплатный урок Django Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Django Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Django Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

APIs Need Stateless Auth

Browsers use sessions, but API clients often have no cookies. Token authentication lets a client prove who it is on every request instead.

How a Token Works

The user logs in once and gets a token string. They send it with each request, and DRF maps it back to the right user.

Enabling TokenAuthentication

Add the authtoken app and turn on TokenAuthentication so DRF knows to read tokens from incoming requests.

INSTALLED_APPS += ['rest_framework.authtoken']

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.TokenAuthentication',
    ],
}

Issuing a Token

DRF gives you a built-in obtain_auth_token view. Post a username and password to it, and it returns that user's token.

from rest_framework.authtoken.views import obtain_auth_token

urlpatterns = [
    path('api-token-auth/', obtain_auth_token),
]

Sending the Token

The client puts the token in the Authorization header, prefixed with the word Token, on every protected call. 🔑

Authorization: Token 9944b09199c62bcf9418ad846dd0e4

The Limit of Simple Tokens

A DRF token never expires and is just a database lookup. For larger systems, a JWT adds expiry and self-contained data.

What a JWT Carries

A JSON Web Token is a signed string holding claims like the user id and an expiry time. The server trusts it without a DB hit.

Adding SimpleJWT

Install djangorestframework-simplejwt and register its authentication class to swap tokens for JWTs.

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

Access and Refresh Tokens

SimpleJWT gives two tokens: a short-lived access token for requests and a longer refresh token to get a new access token.

JWT Login Endpoints

Wire up TokenObtainPairView to log in and TokenRefreshView to renew, and your JWT flow is ready.

from rest_framework_simplejwt.views import (
    TokenObtainPairView, TokenRefreshView)

urlpatterns = [
    path('token/', TokenObtainPairView.as_view()),
    path('token/refresh/', TokenRefreshView.as_view()),
]

Sending a Bearer Token

JWT clients use the Bearer scheme in the Authorization header instead of the Token word DRF tokens use. 🎟️

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9

Quick Check

One key difference separates DRF tokens from JWTs.

Recap: Proving Identity

You learned to authenticate API clients with DRF tokens for simplicity and JWTs for expiry and scale, both sent in the Authorization header. 🎉

Часто задаваемые вопросы

Урок «Аутентификация по токенам и JWT» бесплатный?

Да — полный текст урока «Аутентификация по токенам и JWT» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Django Academy, подпишись на CoddyKit PRO. Курс Django Academy содержит 4 уроков всего.

Чему я научусь в уроке «Аутентификация по токенам и JWT»?

Безопасно аутентифицируйте клиентов API Ты практикуешь Django Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Django Academy?

Предыдущий опыт не требуется. Django Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Аутентификация по токенам и JWT»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Django Academy?

Да. Каждый урок Django Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. ModelViewSet и маршрутизаторы
  2. Разрешения и ограничение частоты запросов
  3. Аутентификация по токенам и JWT
  4. Фильтрация, поиск и разбиение на страницы
← Назад к Django Academy