OpenID es un estándar para autentificación, que permite a los usuarios mantener una única cuenta (un único nombre de usuario y password), y usar esta única cuenta en varios stios Web, sin necesidad de registrarse en cada sitio por separado.

El sistema es descentralizado, e involucra básicamente tres actores: el usuario final, un sitio Web, y un proveedor de OpenID. Frente al proveedor de OpenID, el usuario se identifica normalmente con un nombre de usuario y una clave. Frente al sitio Web, el usuario se identifica con su nombre OpenID, que es una URL.

Varias ideas similares a OpenID habían sido propuestas en el pasado, pero OpenID ganó el soporte de varios de los actores más grandes en la industria y a comienzos del 2008 comenzó a usarse en muchos sitios Web.

¿Cómo funciona OpenID?

Una explicación simplificada, y omitiendo algunos detalles, es la siguiente. En el ejemplo el usuario está representado por su browser, que es el que realiza las operaciones descritas automáticamente. El sitio Web es el sitio al que nos queremos conectar, y el proveedor de OpenID es un lugar donde tenemos una cuenta OpenID que queremos ocupar para conectarnos al sitio Web (en vez de tener que crear una nueva cuenta en el sitio Web).

600px OpenID Descripcion

  1. El usuario entra a un sitio que tiene una caja de login de OpenID, usualmente identificada con el símbolo de OpenID. En la caja de login, escribe su OpenID que es normalmente una URL abreviada (por ejemplo http://chato.myopenid.com/ o simplemente chato.myopenid.com.
  2. El sitio redirige al usuario hacia su proveedor de OpenID, mediante un redirect simple a una dirección similar a http://chato.myopenid.com/?nonce=xxx&return_to=yyy en que nonce es un número aleatorio, y return_to la dirección de la página a la que el usuario debe ser dirigido despues de autentificarse.
  3. El usuario se autentifica con su proveedor de OpenID, normalmente mediante un nombre de usuario y clave.
  4. El proveedor de OpenID reconoce al usuario, y le entrega un redirect a la dirección return_to que el sitio Web le solicitó. En la URL incluye también una función no-invertible del número nonce y de otros datos.
  5. El usuario entrega estos datos al sitio Web en la dirección donde fue enviado.
  6. El sitio Web se conecta directamente al proveedor de OpenID para comprobar que la información entregada por el usuario es válida.
  7. El proveedor de OpenID responde validando al usuario, y dependiendo de la configuración, entrega otros datos como por ejemplo cuál es el nickname que el usuario prefiere.
  8. El sitio acepta la identificación del usuario y lo asocia a su OpenID.

Un detalle menor que no está en el diagrama para simplificar la exposición, es que entre las etapas 1 y 2 el sitio Web se conectará con la dirección indicada por el usuario y buscará un elemento link con relación openid.server para saber la URL exacta donde debe re-dirigir al usuario en el servidor de OpenID.

¿Cómo puedo obtener un OpenID?

Puedes conseguir un OpenID en http://www.myopenid.com/ — ellos fueron el primer proveedor de OpenIDs, pero no son el único.

Si tienes cuenta en Yahoo! (por ejemplo un Yahoo! Mail), entonces puedes ir a http://openid.yahoo.com/ y habilitar tu cuenta de Yahoo! para usarla como OpenID. También Blogger y LiveJournal te permiten usar tu cuenta con ellos como una URL de OpenID.

¿Cómo puedo permitir a los usuarios de mi Web entrar con OpenID?

La mayoría de los CMS modernos tienen módulos o opciones de configuración para aceptar logins usando OpenID.

Drupal6 soporta OpenID

WP-openid es un plugin para WordPress.

Extension:OpenID es una extensión para MediaWiki.

openid es un plugin para PostNuke.

¿Cómo puedo usar mi propio dominio como proveedor de OpenID?

A nivel de software, algunos CMS ya incorporan funcionalidades que permiten exponer las cuentas locales como URLs de OpenID. Por ejemplo Drupal versión 6 o superior y [MediaWiki http://www.mediawiki.org/wiki/MediaWiki] tienen módulos para hacer esto.

También hay un script en http://siege.org/projects/phpMyID/ hecho en PHP, que puedes instalar y configurar en tu servidor para usarlo como proveedor de OpenID. La configuración incluye dos pasos: el primero es setear tu password, guardándola como un hash en el archivo de configuración del script, el segundo es poner en la portada de tu sitio Web, en el código HTML, un <link …> apuntando a la dirección donde instalas el script.

Via:tejedoresdelweb.com