User Tools

Site Tools


doc:appunti:net:openid

This is an old revision of the document!


OpenID

Cos'è e come funziona

Si tratta di un sistema di autenticazione per siti web. La propria identità viene registrata presso un server OpenID e protetta da una password, altri siti web possono essere configurati come client OpenID e quindi richiedere l'autenticazione al server.

In questo modo è possibile gestire le proprie credenziali sul server OpenID ed utilizzare sempre la stessa password per accedere a tutti i siti client.

La password viene registrata presso il server generalmente in formato hash md5 e non necessita di transitare mai in chiaro sulla rete.

È possibile utilizzare uno dei numerosi server OpenID per registrare la propria identità, oppure allestire in proprio un server OpenID completo o un semplice server personale per gestire una sola identità.

Registrare uno OpenID

Utilizziamo il fornitore di OpenID https://www.myopenid.com/, un provider che fornisce un servizio OpenID di base gratuito e numerosi servizi aggiuntivi a pagamento.

Cliccare su “Sign up for an openid” e scegliere uno username. In base allo username viene generato uno OpenID URL, ad esempio scegliendo Niccolò Rigacci l'URL OpenID sarà http://Niccolò-Rigacci.myopenid.com/. Oltre allo username si sceglie anche una password. Attenzione ai caratteri speciali, alcuni client OpenID potrebbero avere dei problemi a gestire l'encoding UTF-8.

Via email si riceve una richiesta di conferma da cliccare sul web.

myOpenID mette a disposizione acluni servizi aggiuntivi, ad esempio una pagina web a cui si viene rediretti digitando l'URL OpenID, la pagina può essere personalizzata con i propri dati, una foto, ecc. Molto utile anche il log dell'attività di autenticazione e la possibilita di creare diverse personalità da presentare ai diversi clienti OpenID.

L'accesso ad un sito che utilizzi OpenID avviene in questo modo:

  1. Il sito web richiede l'OpenID, digitiamo l'URL completo di http://.
  2. Si viene rediretti sulla pagina web del server OpenID, nel nostro esempio sul sito di myopenid.com. In questa pagina si digita la password.
  3. Se l'autenticazione ha successo si viene infine rediretti sul sito originale.

Il sito che ha chiesto l'autenticazione OpenID memorizza un cookie con il quale rimaniamo autenticati senza digitare nuovamente la password.

Allestire un provider OpenID personale

Scarichiamo il software phpMyID e scompattiamo i file MyID.config.php e MyID.php in una directory accessibile via web. Nel primo si impostano auth_username e auth_password. Per calcolare l'hash di auth_password:

echo -n 'username:phpMyID:password' | openssl md5

Infine si crea un index.html che indica (notare che il link deve deve avere un href assoluto):

<html>
<head>
<link rel="openid.server" href="http://niccolo.rigacci.org/MyID.config.php">
<link rel="openid.delegate" href="http://niccolo.rigacci.org/MyID.config.php">
</head>
<body></body>
</html>

L'OpenID è l'URL al quale è disponibile l'index.html.

Nel file di configurazione si possono impostare altre informazioni personali, tipo nome e cognome, indirizzo email, una foto, ecc.

doc/appunti/net/openid.1261345721.txt.gz · Last modified: 2009/12/20 22:48 by niccolo