No he profundizado en OpenID …

techtonik_OpenID.png.png… pero como lo empleo en ciertos sitios y tengo curiosidad por saber más sobre su funcionamiento me he decidido a instalar mi propio pequeño y bravo servidor en una dirección virtual: http://openid.taquiones.net.

Salvando la primera dificultad de no poder instalar el programa SimpleID mediante el sistema de paquetes Debian (vete tú a saber qué arreglos habré hecho últimamente allí para tener algunos paquetes prácticamente intocables), no me ha llevado demasiado tiempo realizar lo mismo a mano:

  1. Separo los directorios de datos y los sitúo bajo /var/lib/simpleid mientras que las páginas y el código PHP lo coloco en una carpeta específica para el servidor web virtual: /var/virtual/openid.taquiones.net.
  2. Ajusto la propiedad de los archivos y creo los directorios de registro de mensajes tanto para el programa en /var/log/simpleid.log como para el servidor web bajo /var/log/virtual/openid.taquiones.net.
  3. Creo un archivo de identidad en el directorio /var/lib/simpleid/identities empleando el ejemplo que incluye el software.
  4. Añado la configuración para el servidor web (nginx) y lo relanzo.

Funciona razonablemente bien con la salvedad de que he tenido que desactivar las conexiones cifradas porque algunos clientes con los que he probado se estrellaban una y otra vez. Al principio creí que era un problema de la entidad certificadora, para luego descubrir que el dominio openid.taquiones.net no estaba dentro del certificado del servidor. Una vez subsanado  revisé  algunos foros (encontré muy pocos, por cierto) y leí que -estuviese bien o mal el certificado digital- muchos clientes tampoco aceptaban el cifrado así que ya no he querido andarme con más pruebas.

Sé que eso crea un problema de seguridad pero he visto que para paliarlo SimpleID emplea Javascript con MD5 en el formulario y no envía la contraseña en claro. No es mucho, pero es mejor que nada. Tengo que investigar más porque creo que hay un par de puntos concretos del protocolo de registro donde dicho cifrado puede habilitarse ya que se trata de algo entre el proveedor OpenID y el usuario.

Y ahora unos cuantos detalles (detallitos) que me resultan molestos del programa:

  1. Algunos sitios presentan problemas de acceso si no tenemos una sesión iniciada en nuestro servidor previamente; el mecanismo chulo de enviarte a tu servidor OpenID y que él abra una ventana para que te identifiques y que luego te mande de vuelta al mismo sitio deja de funcionar.  Una lástima, pero aún no sé si el problema es de SimpleID o del cliente.
  2. El archivo con los datos de identidad del usuario es necesario crearlo a mano y situarlo en el directorio de datos del servidor (en mi caso esto queda en /var/lib/simpleid/identities/victor.identity); no es cómodo ni sencillo. También es cierto que se puede utilizar LDAP como
  3. Es necesario gestionar tu identidad también a mano mediante la construcción de un archivo con el identificador del usuario en el directorio del servidor web (/var/virtual/openid.taquiones.net/victor por ejemplo) que contenga directivas concretas en la sección head del documento (que tiene que estar en formato HTML además). Los enlaces y las directivas te las proporciona el programa en tu panel de control pero, demonios, que tampoco le costaba tanto atender directamente la petición y crearlos al vuelo.

Bien. El caso es que el invento ya está en marcha y  lo he empleado en algunos sitios con un resultado digamos que un poco decepcionante. Se puede entrar en el sitio pero no le proporciona la información que he dispuesto previamente, como mi dirección de email o mi fecha de nacimiento. En fin, anónimo me quedo en cuanto me descuide.