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

  1. Resource Owner: L’utente (tu).
  2. Client App: L’applicazione che richiede l’accesso (es. un’app di calendario).
  3. Auth Server: Il server che emette il token (es. Google Auth).
  4. Resource Server: Il server che ospita i dati (es. Google Calendar).

📊 Confronto Metodi di Autenticazione

MetodoMeccanismoSicurezzaUso Comune
BasicUsername/Password in Base64Bassa (richiede TLS)Ambienti legacy/semplici
BearerToken generato da serverAltaWeb App moderne
API KeyStringa univoca staticaMediaCloud Services / Tracking
OAuth 2.0Framework di delega (Token)MassimaIntegrazioni 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

  1. Il Client richiede autorizzazione.
  2. Il Resource Owner concede il permesso.
  3. Il Client scambia il permesso con un Access Token.
  4. 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.