Core Logic
L’autenticazione nelle REST API è il processo di validazione dell’identità di un utente o sistema per garantire l’accesso legittimo alle risorse. Oltre alla sicurezza, è fondamentale per l’analytics e il billing (es. tracciamento dei token in ChatGPT). 01:42.
🏗️ Fondamenti dell’Autenticazione API
Senza autenticazione, chiunque potrebbe inviare API requests, accedendo a dati sensibili o modificando l’applicazione. 02:16.
Tracking e Billing
Molte API utilizzano l’autenticazione per scopi commerciali, addebitando costi in base all’utilizzo (es. modelli OpenAI basati su token). 03:08.
🔐 Metodi di Autenticazione (Authentication Schemes)
1. Basic Authentication
È il metodo più semplice. Invia credenziali direttamente nell’HTTP Header. 05:41.
- Formato:
username:password. - Codifica: Le credenziali sono codificate in Base64. 07:33.
Rischio Sicurezza
La codifica Base64 NON è cifratura. È facilmente decodificabile. È imperativo utilizzare HTTPS (TLS) per proteggere il traffico. 07:53.
2. Bearer Authentication
Utilizza un Token (chiamato Bearer Token) invece delle credenziali classiche. 10:04.
- Processo: Il client ottiene il token da un Authorization Server. 10:11.
- Scadenza: I token solitamente scadono dopo un tempo prefissato per limitare i danni in caso di furto. 11:46.
3. API Key Authentication
Utilizza una chiave statica univoca assegnata al client. 13:13.
- Posizionamento: Può essere inviata nell’header, nell’URL o nei cookie.
- Limitazioni: Le chiavi inserite negli URL sono meno sicure perché loggate da web server e browser. 13:48.
4. OAuth 2.0
Un framework avanzato per l’Access Delegation. Permette ad app terze di accedere a risorse limitate per conto dell’utente senza condividerne la password. 16:11.
I 4 Attori di OAuth 2.0: 17:44
- Resource Owner: L’utente (tu).
- Client App: L’applicazione che richiede l’accesso (es. un’app di calendario).
- Auth Server: Il server che emette il token (es. Google Auth).
- Resource Server: Il server che ospita i dati (es. Google Calendar).
📊 Confronto Metodi di Autenticazione
| Metodo | Meccanismo | Sicurezza | Uso Comune |
|---|---|---|---|
| Basic | Username/Password in Base64 | Bassa (richiede TLS) | Ambienti legacy/semplici |
| Bearer | Token generato da server | Alta | Web App moderne |
| API Key | Stringa univoca statica | Media | Cloud Services / Tracking |
| OAuth 2.0 | Framework di delega (Token) | Massima | Integrazioni terze parti |
⚡ Concetti Avanzati OAuth 2.0
Token Refresh
Per evitare che l’utente debba rieseguire il login ogni volta che un Access Token scade, OAuth 2.0 utilizza i Refresh Tokens per ottenere nuove chiavi automaticamente. 20:13.
Flusso Operativo OAuth 2.0
- Il Client richiede autorizzazione.
- Il Resource Owner concede il permesso.
- Il Client scambia il permesso con un Access Token.
- Il Client usa il Token per richiedere la risorsa. 18:32.
Nota generata per lo studio della certificazione CCNA basata sul materiale di Jeremy’s IT Lab.