0Pricing
Django Academy · Pelajaran

Autentikasi Token dan JWT

Autentikasi klien API dengan aman

Autentikasi Token dan JWT adalah pelajaran Django Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Django Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Django Academy mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

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. 🎉

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Autentikasi Token dan JWT” gratis?

Ya — teks lengkap “Autentikasi Token dan JWT” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Django Academy, upgrade ke CoddyKit PRO. Kursus Django Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Autentikasi Token dan JWT”?

Autentikasi klien API dengan aman Kamu berlatih Django Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Django Academy?

Tidak diperlukan pengalaman sebelumnya. Django Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Autentikasi Token dan JWT” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Django Academy ini?

Ya. Setiap pelajaran Django Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. ModelViewSet dan Router
  2. Izin dan Pembatasan Laju
  3. Autentikasi Token dan JWT
  4. Pemfilteran, Pencarian, dan Paginasi
← Kembali ke Django Academy