home forum

Notifiche
Cancella tutti

La Mia Libertà finisce dove inizia la tua

cos'è il protocollo OAuth e come funziona


Administrator
Post: 107
Admin
Topic starter
(@administrator)
Membro
Registrato: 2 anni fa

Quando ci si deve registrare su un sito web o su un'applicazione online la maggior parte degli utenti registra un nuovo account specificando nome utente e password.

E’ superfluo ricordare che la password dovrà essere "unica" quindi non utilizzata per accedere ad altri servizi.

OAuth è un protocollo aperto nato nel 2006 che ambisce a sostituire i meccanismi di autenticazione tradizionali. I pulsanti “Accedi con Google”, “Accedi con Microsoft”, “Accedi Con Facebook”, che troviamo sempre più spesso sui siti web, si basano proprio su OAuth che non è altro se non un server autorizzativo gestito da un soggetto terzo (Google, Microsoft, Facebook) che fornisce un token di accesso al sito o all'applicazione web che lo richiede previa esplicita approvazione dell'utente.

Quando si fa clic su un pulsante per l'accesso con OAuth, il gestore del server autorizzativo (service provider) mostra l'elenco delle informazioni che sono state richieste dal client ovvero dal sito web sul quale l'utente desidera autenticarsi.

Attraverso apposite API compatibili con OAuth l'applicazione web di terze parti può quindi accedere a un insieme di dati e risorse personali dell'utente senza che questi debba mai condividere username e password.

Quando si fa clic su un pulsante Accedi con Google, Microsoft, Facebook, Twitter, LinkedIn, infatti, se l'utente fosse già loggato su Google, Microsoft, Facebook e così via verrà subito mostrata una schermata di approvazione simile a quelle presentate in precedenza. Diversamente, se l'utente non fosse loggato, questi dovrà prima autenticarsi sul service provider (Google, Microsoft, Facebook,...).

Dopo aver effettuato l'autenticazione sul service provider, in maniera totalmente indipendente rispetto all'applicazione web alla quale si vuole accedere senza procedere con una registrazione di tipo tradizionale, il server autorizzativo fornirà all'applicazione web di terze parti un token di accesso (access token) che può essere utilizzato per riconoscere l'utente e autenticarlo.

I principali service provider usano oggi OAuth 2.0 ovvero la più recente versione del protocollo approvata come standard a ottobre 2012.

Rispetto al predecessore OAuth 2.0 riduce di default la scadenza del token con la possibilità comunque di aumentarne la durata e implementa un mediatore tra client e server.

Il mediatore gestisce i token di accesso e può essere lo stesso soggetto che offre le risorse alle quali l'utente intende accedere.

Il permesso Authorization Code (Authorization Code grant) oggi utilizzato comunemente per accedere ai vari siti web con OAuth 2.0 prevede che il service provider assegni all'applicazione di terza parte un identificativo e un segreto (client ID e client secret) che verranno scambiati durante il processo di autorizzazione.

L'applicazione, al momento della registrazione presso il service provider, fornisce un nome e un redirect URI che sarà utilizzato dal server autorizzativo per informare circa l'avvenuta approvazione della richiesta da parte dell'utente.

Il funzionamento del protocollo OAuth è molto semplice: vista la sua natura aperta il flusso delle informazioni che vengono scambiate tra i vari soggetti è chiaro e ben definito così come lo è la procedura da assolvere per rinnovare i token.

Rispondi
Condividi: