Tutorial OpenID

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 siti che
supportano l'OpenID. La filosofia è differente dal single sign-on (SSO), in cui l'autenticazione
gioca il ruolo chiave, poiché non si basa su un meccanismo di
sicurezza. Per questo motivo, OpenID non è indicato per essere usato su
account sensibili (banche, acquisti online e così via).

 

Per approfondimento vi riporto un testo che ho trovato su un blog di html.it :

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 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)