OpenId

A estas alturas no voy a ponerme a explicar lo que es OpenId, sólo citar que:
OpenID es un sistema de identificación digital descentralizado, con el que un usuario puede identificarse en una página web a través de una URL (o un XRI en la versión actual) y puede ser verificado por cualquier servidor que soporte el protocolo.
(Aquí y aquí podéis encontrar más información) Quería disponer de un servidor OpenId propio, ya que no me gusta depender de otros servicios para gestionar mi propia identidad. Tras estudiar las opciones disponibles, al final me decanté por phpMyID. Se trata de dos scripts en PHP que se configuran con relativa facilidad: basta con dejarlos caer en el servidor, editar un par de parámetros y generar la contraseña. La parte más difícil viene si al intentar autentificarnos muestra un error “Missing expected authorization header”. Esto es debido a que PHP no puede leer las cabeceras HTTP, y para solucionarlo sólo tenemos que subir el archivo .htaccess que proporciona la distribución de phpMyID y en el que previamente habremos descomentado una de las tres opciones disponibles (yo probé con la primera). Con estos pasos tenemos un servidor OpenId monousuario funcionando en cinco minutos. Una vez configurado el script, la dirección para autentificarnos es http://nuestrositioweb/MyID.config.php. Esto queda muy feo, ya que si lo utilizamos, por ejemplo, para identificarnos a la hora de escribir un comentario en un blog,  cuando los lectores pulsen sobre nuestro avatar o nuestro nombre irán a una página bastante simple que dice “This is an OpenID server endpoint”, sin mucha más información. Para corregir esto se utiliza la delegación: en una página determinada, que es la que queremos que visiten los usuarios, se añaden dos tags html que indican dónde está realmente el servidor OpenId que nos autentifica. Los tags son <link rel=”openid.server”…/> y <link rel=”openid.delegate”…/> Podría haberlos añadido a mano, pero como utilizo WordPress en esta página, me pareció que la solución más limpia era instalar un plugin que realizase esa delegación. He utilizado OpenID Delegate WordPress Plugin, también muy sencillo de instalar (dejar caer el archivo) y de configurar (poner en los dos primeros campos que aparecen en su sección de administración la dirección del script phpMyID). Con esto he conseguido que la dirección de mi página personal me sirva para autentificarme con OpenID. Rápido, fachile e divertente. Gracias Señor Siege.

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *