Come funziona OpenID (con link e risorse)

lunedì 8 gennaio 2007 - 9:05

di Cesare Lamanna

Negli ultimi giorni ho raccolto un po’ di link su OpenID. Post e interventi quanto mai benvenuti, visto che molti di essi hanno un taglio divulgativo a da howto che mi ha consentito finalmente di fare chiarezza sul funzionamento di questo sistema di identificazione. Su ICTv è presente un video su OpenID.

Partiamo con le definizioni facendo ricorso a Wikipedia:

OpenID è un semplice meccanismo di identificazione creato da Brad Fitzpatrick di LiveJournal. Si tratta di un network distribuito e decentralizzato, nel quale la tua identità  è un URL, e può essere verificata da qualunque server supporti questo protocollo.
Sui siti che supportano OpenID, gli utenti Internet non hanno bisogno di creare ed amministrare un nuovo account per ogni sito prima di accedervi. Al contrario, solo una autenticazione con un sito sicuro che supporta OpenID è necessario; questo sito può quindi fornire una dichiarazione dell’identità  dell’utente agli altri sito che supportano l’OpenID.

Complicato? La sintesi è questa. Se arrivo su un sito come WiKiTravel e voglio creare la mia pagina personale, ho bisogno prima di creare un account, poi di effettuare il login con username e password; potrei però saltare questi passaggi se fossi in possesso di un’Open ID. Dato che WikiTravel supporta OpenID, infatti, tutto cià che dovrà fare sarà  inserire nell’apposito form il mio account OpenID, che è semplicemente un URL (potrebbe essere ad esempio quella del mio blog).

E per la serie show don’t tell ecco due screencast che mostrano come fare: il primo è inserito in questo post su Read Write Web, il secondo (formato MPEG-4) è di Simon Willison, autore di questo eccellente How to turn your blog in to an OpenID.

Domanda scontata: ma come e dove si crea un account OpenID? Intanto qualcuno di voi si stupirà  nel sapere che di fatto già  ce l’ha: se avete creato un account su LiveJournal o Vox (entrambi servizi di social network appartenenti a SixApart), avete un account OpenID (nel caso di Vox sarà  nella forma http://nome_utente.vox.com).

Altrimenti potete usare uno dei tanti provider OpenID. Negli screencast di cui si parlava viene proposto come esempio MyOpenID, ma è possibile utilizzare anche VeriSign Labs o ClaimID. Il mio account OpenID è http://cesare.myopenid.com/. Posso usarlo per accedere a tutti i siti che supportano il sistema, a Zooomr, per esempio, o Ma.gnolia. All’atto dell’iscrizione questi siti possono richiedere l’immissione di ulteriori dati identificativi in base alle caratteristiche dei loro servizi.

A questo punto qualcuno potrebbe chiedersi: ma perché non usare l’indirizzo della propria pagine personale, del proprio sito o del proprio blog come account OpenID? Un merito del post di Simon Willison già  linkato qui sopra ma anche di questo di Sam Ruby, sta nello spiegare per bene come cià sia possibile. àˆ davvero tutto molto semplice.

Nella sezione <head> della home page, basterà  inserire un paio di tag <link> così configurati (userà come esempio il mio account su MyOpenID):


<link rel="openid.server" href="http://www.myopenid.com/server" />
<link rel="openid.delegate" href="http://cesare.myopenid.com/" />

Lo schema generale è quindi:


<link rel="openid.server" href="URL_del_server_OpenID" />
<link rel="openid.delegate" href="URL_utente_su_quel_server_OpenID" />

Grazie ad un meccanismo di autodiscovery, inserendo l’URL della mia home page, il sistema di identificazione è in grado di risalire al mio provider (MyOpenID) e all’URL a me associato.

Prima di passare ai link conclusivi, ricordo che ci sono modi per crearsi un piccolo provider di OpenID sul proprio server. Basta sfruttare semplici script come phpMyID. Ed ora i link.

Sam Ruby: OpenID for non-superusers
Simon Willison: How to turn your blog in to an OpenID
Six Apart Blog: OpenID’s Growing Momentum
ZDNet Blog: The case for OpenID
Read Write Web: OpenID and the Identity Systems of Yahoo, Google & MSN
Sergio Longoni: OpenID: il Sistema di Login Distribuito
Digital Meadows: URL di un sito come account OpenID (istruzioni per chi usa ClaimID come provider)

Tags:,

Categoria: Software e Servizi | Commenta

Commenti per Come funziona OpenID (con link e risorse)

E’ sicuramente uno strumento ottimo e l’ho appena inserito al mio indirizzo. Mi preoccupa però il problema dello spam. Si potrebbero diffondere degli harverster OpenID e li si che i danni sarebbero ingenti.

Ho visto comunque che il servizio di VeriSign offre un controllo sugli indirizzi e sulle operazioni fatte sul proprio account segnalando IP e operazione!

# - Postato da Simone Onofri 8 gennaio 2007 alle 11:21

Dimenticavo. Il principio utilizzato comunque, quello di centralizzare tutto in un unico account (anche se in questo caso sono decentralizzati i provider) é cosa vecchia. La filosofia é la stessa del vecchio Passport, ora Live ID, per il quale era stata rilasciata anche un SDK, e di Google Account.

# - Postato da Simone Onofri 8 gennaio 2007 alle 11:24

Personalmente non mi ha convinto e ritengo l’idea di centralizzare la sicurezza un errore.

# - Postato da Andrea Paiola 8 gennaio 2007 alle 12:08

Articolo molto interessante, c’ho “smanettato” un po’ ed ho “OpenIDizzato” il mio blog… :)

# - Postato da Giovy 8 gennaio 2007 alle 13:33

Nel quotare Andrea Paiola, mi piacerebbe capire: se vado in un sito e mi registro come

http://cesare.myopenid.com

il sistema si accorge che non mi chiamo Cesare? (Il problema sorge soprattutto con le assegnazioni standardizzate tipo VOX.COM)

# - Postato da Pierluigi 8 gennaio 2007 alle 14:06

@Pierluigi

Non mi sono ancora informato sui dettagli tecnici, ma PENSO che nel momento del login venga contattato il server OpenID anche dal browser del visitatore in modo da controllare tramite un cookie che sia davvero chi dice di essere.
In caso sia tutto OK viene dato il via libera al servizio a cui l’utente ha tentato di identificarsi, altrimenti dovrebbe apparire la pagina di login (sul sito del provider OpenID) chiedendo nome utente e password e memorizzando in un cookie il successo dell’autenticazione per non dover effettuare il login una seconda volta.

Tutto automatizzato ovviamente…
Ripeto: immagino funzioni più o meno in questo modo… Non ho ancora approfondito. ;)

# - Postato da Epper 8 gennaio 2007 alle 14:34

Al momento di registrarsi su MyOpenID si fornisce anche una password. Se per esempio provo a loggarmi su ma.gnolia, mi viene richiesta come ulteriore verifica della mia identità . Comunque provare é semplice, createvi la vostra OpenID :)

# - Postato da cesare 8 gennaio 2007 alle 15:05

a me vien in mente flickr che consente di loggarsi con la mail di Yahoo!, anche se flickr é nato come servzio non di Yahoo!.

# - Postato da smal 8 gennaio 2007 alle 22:36

e per rispondere ad Epper, gli ricordo uno degli ultimi post di Cesare, che riguarda le statistiche sull’uso della cache portate avanti da Yahoo!, che mostrano una tendenza a cancellare la cache.

# - Postato da smal 8 gennaio 2007 alle 22:39

qua già  qualcuno lo ha incluso in Joomla!

# - Postato da smal 8 gennaio 2007 alle 23:00

il problema é che se il server openid per qualsiasi motivo non é raggiungibile non possiamo accedere a tutti i servizi

# - Postato da Andrea Paiola 9 gennaio 2007 alle 10:01

Al momento di registrarsi su MyOpenID si fornisce anche una password. Se per esempio provo a loggarmi su ma.gnolia, mi viene richiesta come ulteriore verifica della mia identità .

Ditemi se ho capito bene… ci si registra su un server di openID ottenendo username e password, poi per loggarsi in un sito che supporta openID bisognerà  fornire a quel sito username e password, così che lui verifichi la propria identità ?

Ma siete sicuri che bisogni fornire al sito anche la propria password? Mi sembra assurdo… cosa impedisce all’admin di quel sito di salvarsi username e password e poter quindi accedere a tutti i nostri servizi?

Mi sembra abbastanza assurdo come approccio… devo aver capito male o dev’esserci qualche altro controllo di sicurezza.

# - Postato da Arthens 11 gennaio 2007 alle 10:03

To login to an OpenID-enabled website (even one you’ve never been to before), just type your OpenID URI. The website will then redirect you to your OpenID Provider to login using whatever credentials it requires. Once authenticated, your OpenID provider will send you back to the website with the necessary credentials to log you in.

Ok, così ha già  molto più senso :)

# - Postato da Arthens 11 gennaio 2007 alle 10:05

aggiungo solo che non ti vengono attribuiti username e password, ma li definisci tu in fase di creazione dell’account openid.
la password viene prima criptata e poi memorizzata, quindi l’amministratore non ha le pwd in chiaro.

l’algoritmo é MD5, uno dei più famosi. la sua caratteristica fondamentale é di essere a senso unico cioé da username e password generi la chiave md5, ma é impossibile fare il contrario e ricavare la password dall chiave md5

# - Postato da phynx 10 gennaio 2008 alle 15:43

Salve,
sto smanettando sull’openID per lavoro,
il mio quesito é:
sto installando un Server OpenID ma ho non pochi problemi.
Esiste qualche tutorial che ne spiega tutti i passaggi?

Grazie

# - Postato da briel 24 gennaio 2008 alle 14:24

grazie, ottimo post, sono arrivato un pò in ritardo, ma meglio tardi che mai :)

# - Postato da zannas 9 febbraio 2009 alle 14:42

Esiste un tutorial su openID?

# - Postato da cristiano 28 febbraio 2012 alle 12:20

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>