Cos’è OAuth

Cos’è OAuth

Definizione di OAuth

OAuth è uno dei più importanti protocolli del web 2.0: permette di accedere a specifiche risorse protette da autenticazione (ovvero username e password) senza necessità di dover condividere pubblicamente tali credenziali. La necessità che mette in gioco OAuth è, in altri termini, quella di autorizzare una terza parte a gestire sezioni riservate di una risorsa, di un sito o di un’app, il tutto senza costringere l’utente a mettere in circolazione la propria password per accedervi. Ciò coincide col concedere un “grant“, o permesso specifico, all’app stessa.

I vantaggi dall’uso di questa tecnologia derivano direttamente dalla possibilità di avere un accesso in autenticazione mediante generazione di un token di autorizzazione apposito.

Necessità di OAuth

Condivedere pubblicamente la password della risorsa, infatti, è sconveniente per una serie di ragioni:

  • non permette di specificare i permessi specifici che sono necessari all’utente;
  • rende accessibile l’intero account all’applicazione, il che è sconsigliabile dal  punto di vista generale della sicurezza informatica;
  • in caso di problemi, infine, può essere necessario cambiare la password o rimuovere l’utenza.

L’uso del protocollo OAuth, invece:

  • permette di specificare i permessi specifici, scegliendolo tra quelli realmente necessari all’utente;
  • rende accessibili solo le risorse che servono davvero all’account, specificandole in fase di collegamento e rendendole note all’utente finale (ad esempio: accesso alla tua email ed al tuo numero di telefono);
  • in caso di problemi, OAuth può essere semplicemente revocata dal pannello di amministrazione, oppure modificare la chiave privata di accesso.

Sicurezza di OAuth

Da un punto di vista della sicurezza, OAuth si tutela mediante i meccanismi del timestamp (marca temporale) e del nonce (ovvero “number used once“, un numero univoco utilizzato una sola volta), del tutto analogo a quello utilizzato dalle chiamate asincrone di WordPress wp_ajax ed atte ad evitare attacchi informatici basati su più tentativi consecutivi di accesso all’account. Da un punto di vista prettamente implementativo, OAuth si basa sulla generazione di un client ID e di un client secret, che sono due stringhe univoche che permettono di autenticarsi sul sistema desiderato dall’esterno, senza la necessità di condividere esplicitamente la password originale del servizio.

Versioni di OAuth

OAuth è stato sviluppato da Blaine Cook e Chris Messina nel 2006 e pubblicato l’anno successivo come libreria, ed è ad oggi diffuso in una duplice versione:

  • OAuth 1.0, che viene utilizzato per l’autenticazione di terzi ma che presenta qualche limitazione di sicurezza e di opzioni disponibili;
  • OAuth 2.0 che invece presenta una netta divisione dei ruoli dell’utente, e consente di impostare la durata del token di accesso.

(fonti: unipg, wikipedia)

Ti piace questo articolo?

0 voti

Su Trovalost.it puntiamo sulla qualità dei contenuti da quando siamo nati: la tua sincera valutazione può aiutarci a migliorare ogni giorno.

Ti potrebbero interessare (Guide per webmaster):

Cerca altro nel sito

Clicca sul box, e scegli la sezione per vederne i contenuti.