Autenticazione con token e JWT
Autenticare in sicurezza i client dell'API
Autenticazione con token e JWT è una lezione Django Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Django Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Django Academy include 4 lezioni in totale.
Le API hanno bisogno di autenticazione stateless
I browser usano sessioni, ma spesso i client API non hanno cookie. La token authentication permette invece al client di dimostrare la propria identità a ogni richiesta.
Come funziona un token
L'utente effettua il login una volta e riceve una stringa token. La invia con ogni richiesta e DRF la associa nuovamente all'utente corretto.
Abilitare TokenAuthentication
Aggiunga l'app authtoken e abiliti TokenAuthentication, così DRF saprà leggere i token dalle richieste in arrivo.
INSTALLED_APPS += ['rest_framework.authtoken']
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.TokenAuthentication',
],
}Emettere un token
DRF offre la vista integrata obtain_auth_token. Le invii un nome utente e una password tramite POST e restituirà il token dell'utente.
from rest_framework.authtoken.views import obtain_auth_token
urlpatterns = [
path('api-token-auth/', obtain_auth_token),
]Inviare il token
Il client inserisce il token nell'header Authorization, preceduto dalla parola Token, in ogni chiamata protetta. 🔑
Authorization: Token 9944b09199c62bcf9418ad846dd0e4Il limite dei token semplici
Un token DRF non scade mai ed è semplicemente una ricerca nel database. Per sistemi più grandi, un JWT aggiunge una scadenza e dati autonomi.
Cosa contiene un JWT
Un JSON Web Token è una stringa firmata che contiene dichiarazioni come l'id dell'utente e un'ora di scadenza. Il server può considerarla attendibile senza interrogare il database.
Aggiungere SimpleJWT
Installi djangorestframework-simplejwt e registri la relativa classe di autenticazione per sostituire i token con JWT.
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework_simplejwt.authentication.JWTAuthentication',
],
}Token di accesso e di aggiornamento
SimpleJWT fornisce due token: un token access di breve durata per le richieste e un token di aggiornamento di durata maggiore per ottenere un nuovo token di accesso.
Endpoint di accesso JWT
Colleghi TokenObtainPairView per effettuare il login e TokenRefreshView per rinnovare il token: il flusso JWT sarà pronto.
from rest_framework_simplejwt.views import (
TokenObtainPairView, TokenRefreshView)
urlpatterns = [
path('token/', TokenObtainPairView.as_view()),
path('token/refresh/', TokenRefreshView.as_view()),
]Inviare un token Bearer
I client JWT usano lo schema Bearer nell'header Authorization, invece della parola Token usata dai token DRF. 🎟️
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9Verifica rapida
Una differenza fondamentale separa i token DRF dai JWT.
Riepilogo: dimostrare l'identità
Ha imparato ad autenticare i client API con i token DRF per semplicità e con i JWT per scadenza e scalabilità; entrambi vengono inviati nell'header Authorization. 🎉
Impara Python con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Autenticazione con token e JWT» è gratuita?
Sì — il testo completo di «Autenticazione con token e JWT» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Django Academy, passa a CoddyKit PRO. Il corso Django Academy include 4 lezioni in totale.
Cosa imparerò in «Autenticazione con token e JWT»?
Autenticare in sicurezza i client dell'API Eserciti Django Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Django Academy?
Non è richiesta alcuna esperienza precedente. Django Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Autenticazione con token e JWT»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Django Academy?
Sì. Ogni lezione Django Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- ModelViewSet e router
- Permessi e limitazione delle richieste
- Autenticazione con token e JWT
- Filtri, ricerca e paginazione