OAuth spiegato al mio commercialista
In questio giorni m’è capitato sott’occhio OAuth, un sistema di autorizzazione cross-site. Con OAuth posso autorizzare un sito terzo o un’applicazione ad accedere ai miei dati di facebook o yahoo senza dargli le mie credenziali.
Ecco una user-story tipica:
- voglio aggiungere a twitter tutti i contatti che ho su gmail;
- twitter deve quindi accedere ai miei dati su gmail;
- non voglio però dare a mr. twitter la mia password
Il meccanismo a ticket implementato da OAuth è abbastanza complesso, ma proviamo a spiegarlo con un paragone concreto: il rapporto tra un cliente, un commercialista ed il fisco.
La story è buffa: il cliente chiede al commercialista di fare delle operazioni col fisco per suo conto, ma non vuole fornire al commercialista la sua smart-card.
Mappiamo così gli attori della nostra story
- user: cittadino
- consumer: commercialista
- provider: fisco
Ed ecco il flusso
- il commercialista va’ dal fisco e ottiene un’autorizzazione ad esercitare (corrispondente alla registrazione dell’applicazione sul sito del provider: secret,key);
- il cliente va’ dal commercialista e richiede una prestazione;
- il commercialista invia al fisco la sua autorizzazione e il suo indirizzo: “Sono il commercialista x, posso operare?”;
- il fisco valida l’autorizzazione e l’indirizzo. quindi contatta il cittadino (il commercialista x vuole operare sui tuoi dati, è ok?);
- il cittadino si autentica presso il fisco e autorizza (ok, può operare);
- il fisco quindi indirizza il cittadino dal commercialista con un’apposita autorizzazione;
- il cittadino consegna l’autorizzazione al commercialista;
- ogni volta che vuole operare, il commercialista mostra l’autorizzazione al fisco: in base al codice contenuto nell’autorizzazione, il fisco individua i dati del cittadino;
- il cittadino quando lo desidera, revocherà l’autorizzazione contattando direttamente il fisco;
- se il cittadino volesse operare nuovamente tramite il commercialista, ritorna al punto 2 e innescherà il flusso per una nuova autorizzazione.
Il flusso informatico invece, lo trovate qui:
July 08 2010 11:47 am | Sviluppo| 2,249 views
Roberto Polli on 13 Sep 2010 at 5:20 pm #
http://arstechnica.com/security/guides/2010/09/twitter-a-case-study-on-how-to-do-oauth-wrong.ars
flux on 07 Oct 2010 at 8:15 pm #
tu sei un fenomeno!
Roberto Polli on 08 Oct 2010 at 10:15 am #
@flux: ma che fenomeno 😉 un po’ fantasioso…cmq grazie, spero l’articolo ti sia stato utile.