Quiero convertirme en mi propio proveedor de OpenID.
Lo necesito principalmente para iniciar sesión en sitios que usan OpenID 2.0 . Para sitios más antiguos, la compatibilidad con OpenID 1.1 sería excelente. No sé mucho sobre el nuevo OpenID Connect , así que lo dejaré abierto.
Preferiría si solo se admite un usuario ( hay una pregunta para un proveedor de OpenID multiusuario ), con la esperanza de que sea más liviano (lo que facilitaría la auditoría del software, en caso de que surja la necesidad), que da menos superficie de ataque, y que funciona sin una base de datos.
phpMyID "ya no se desarrolla ni se mantiene".
Prairie parece estar muerta (según el nombre de archivo de la versión actual 0.2 Alpha, es de 2008).
El servidor prairie-openid2 de OleKEH (comenzado como una bifurcación de Prairie) parece estar muerto (último cambio de código de 2011).
poit parece estar muerto (última versión de 2009).
SimpleID suena bien (aunque es compatible con múltiples usuarios; pero al menos no usa una base de datos) y no parece estar muerto (última versión de 2014-11; última actividad del sitio de 2015-04).
(Probaré este a menos que obtenga otras recomendaciones; por supuesto, no dude en encontrar una respuesta si puede recomendar SimpleID para mi propósito).
Para mi propio sitio, utilicé lo que básicamente equivale al reenvío de OpenID. Mi sitio está construido usando ikiwiki, así que uso la directiva meta para agregar una delegación de OpenID a otro dominio. Esto termina creando el siguiente código HTML en el encabezado :
<link href="https://login.launchpad.net/+openid" rel="openid.server" />
<link href="https://login.launchpad.net/+openid" rel="openid2.provider" />
<link href="https://login.launchpad.net/+id/xxxxxxx" rel="openid.delegate" />
<link href="https://login.launchpad.net/+id/xxxxxxx" rel="openid2.local_id" />
<meta http-equiv="X-XRDS-Location" content="https://login.launchpad.net/+id/xxxxxxx/+xrds" />
Así que puede ver aquí que delego al Launchpad de Canonical , pero también podría haber usado cualquier otro proveedor de OpenID en el que tenga una cuenta, incluido Stack Exchange:
<!-- OpenID-2.0 delegated to stackexchange -->
<link rel="openid2.provider" href="https://openid.stackexchange.com/openid/provider" />
<link rel="openid2.local_id" href="https://openid.stackexchange.com/user/xxx-xxx-xxx-xxx-xxx" />
La gente de Indieweb tiene un excelente tutorial sobre cómo hacer este reenvío. También hay Wordpress , Drupal y probablemente otros complementos que hacen esto por ti. Pero honestamente, considerando lo simple que es el código HTML, diría que puede ser más simple tener una página HTML estática que apunte a otro proveedor que usar un complemento.
También he considerado ejecutar mi propio proveedor de OpenID, liviano, sin una base de datos y todo eso. Terminé haciendo trampa así: parece mucho más simple. Después de que Google e incluso los proyectos de software libre (p. ej., Drupal 8 ) abandonaron básicamente OpenID, no estaba seguro del futuro de OpenID, así que no quería esforzarme demasiado en ello.
Sé que la delegación de OpenID no es exactamente como ejecutar su propio proveedor, pero teniendo en cuenta que no quería ejecutar una base de datos y esto es de un solo usuario, siento que simplemente ejecutar un host virtual con una página estática básicamente equivale a lo mismo . Todavía necesita ejecutar un servidor web, por lo que podría argumentar que está ejecutando un proveedor OpenID. Es solo un detalle de implementación que la solicitud se reenvía a otro.
Federico Norte
unor
unor
Tomás
unor
Tomás