2009-11-18 15 views
5

Escenario: Un usuario inicia sesión en un sitio (como StackOverflow) con un OpenID. Un año después vuelven al sitio pero su proveedor OpenID ha cerrado y no les permite iniciar sesión.¿Qué sucede si el usuario no puede iniciar sesión con su OpenID?

¿Cuál es la mejor forma de recuperarse de esta situación? ¿Y hay sitios compatibles con OpenID que conozca que ya hayan implementado una solución para esto?

Hay una excellent article here about relying party best practices y tienen una buena sugerencia, pero todavía estoy buscando un ejemplo de esto en acción:

proporcionar funcionalidad perdida identificador para cambiar a un nuevo identificador sin acceso a la viejo uno

Proporcionar un mecanismo para cambiar una cuenta utilizar un nuevo identificador de sin acceso a la antigua identificador (s) asociado con el cuenta. Esto puede tomar una forma similar a la tradicional "¿Olvidó su contraseña ?" Verificación de correo electrónico dance, suponiendo que tiene la dirección de correo electrónico del usuario en el archivo.

Justificación: Los usuarios a veces perder la capacidad de utilizar sus identificadores, tales como cuando su proveedor deja de oferta de servicio a ellos. Esta funcionalidad permite a los usuarios recuperar de esta situación sin perder sus datos.

Tengo una vaga idea de cómo puedo lograr esto con un tipo de señal que se envía a la dirección de correo electrónico del usuario. Pero, de nuevo, si alguien más ya ha descubierto una buena solución con detalles que tal vez aún no había pensado, sería mejor.

+3

Desde el proveedor de OpenID es también a menudo el proveedor de correo electrónico, basándose en el correo electrónico puede fallar una cantidad desproporcionada de tiempo. –

+0

Excelente punto Mark. Según lo que he observado en mi propia base de datos, cerca del 60% de los usuarios que usan Google como OpenID también usan gmail. Pero ... también hay un gran porcentaje con MyOpenID, que por supuesto no proporciona correo electrónico. La idea de verificación del correo electrónico no es perfecta, pero sigue siendo la mejor idea que se me ocurre. –

+0

Pensé un poco más en tu punto, Mark. Tiene mucha razón en que el proveedor de OpenID y el proveedor de correo electrónico a menudo son lo mismo. Sin embargo, por otro lado, los proveedores de correo electrónico no detienen el servicio por completo y dejan a sus clientes en un estado alto y seco. Y, por lo general, tienen un buen sistema para recuperar un inicio de sesión perdido. Son los proveedores de OpenID de poca duración de los que más me preocupo. –

Respuesta

2

Implementé la función de recuperación de cuenta en la que estaba pensando.Después de dejar que la idea hierva a fuego lento por un tiempo, creo que se me ocurrió un proceso bastante simple para el usuario que todavía es seguro.

Aquí está el proceso:

  1. Haga clic en el enlace "problemas" en las teclas de OpenID.
  2. Escriba su dirección de correo electrónico y haga clic en "Enviar correo electrónico de recuperación de cuenta".
  3. Abra el correo electrónico y haga clic en el enlace. (El enlace tiene un token de inicio de sesión único en la cadena de consulta.)
  4. Automáticamente iniciará sesión en mi sitio (el token de inicio de sesión único se destruirá para que no se pueda volver a utilizar) y se le indica que inicie sesión con un OpenID secundario.

También hice un video que demuestra esto:

http://regexhero.net/blog/2010/01/using-openid-on-regex-hero.html

7

StackOverflow permite que múltiples OpenID se asocien con una cuenta, por lo que puede configurar un proveedor de respaldo.

Otra solución podría ser recopilar la dirección de correo electrónico del usuario y enviar un enlace de restablecimiento a esa dirección de correo electrónico.

En última instancia, tendrá usuarios ocasionales en cualquier sistema que no pueda tratarse automáticamente. Incluso sin OpenID, es fácil que un usuario pierda el acceso a su correo electrónico y olvide su contraseña, o que olvide su nombre de usuario y contraseña. Algunas veces, la única solución será "debes registrarte nuevamente" o "nuestra gente de servicio al cliente te ha otorgado acceso a esa cuenta".

+0

La cuestión de OpenID múltiple es una buena idea (también incluida en ese documento de mejores prácticas). Y estoy recopilando direcciones de correo electrónico del usuario para que esa parte esté lista. Creo que estoy esperando encontrar un ejemplo que sea fácil para el usuario y al mismo tiempo seguro. –

+0

En última instancia, la "puerta trasera de la dirección de correo electrónico" debe estar cerrada. Si descubro su contraseña de correo electrónico, es una pena que posea su identidad en Internet tal como está hoy. Múltiples OpenID es una mejor solución, aunque tampoco es ideal. Creo que hay espacio para encontrar una mejor solución. Pero no sé qué es eso. –

0

Una cosa que podría hacer sería construir también su sitio, no sólo para ser un consumidor openID , pero un proveedor de OpenID . De esta forma, si, por alguna razón, un proveedor cierra su negocio, puede hacer que sus miembros simplemente inicien sesión utilizando su proveedor y les permita recuperar su perfil de alguna manera. Por ejemplo, cómo SO permite múltiples identificaciones, o quizás simplemente tener una funcionalidad de migración de una ID a otra. Su mayor problema será el hecho de que su identificación original no puede ser autenticada. No estoy seguro de que permitir varios ID lo alivie, pero podría evitar tales situaciones si los usuarios son proactivos.

+0

¿Eso no elimina todo el punto de OpenID, sin que cada sitio sea su propio proveedor? – ceejayoz

+0

@ceejayoz sí, pero la preocupación se deriva del hecho de tener un inicio de sesión centralizado (solo). La única manera de arreglar eso es tener otro inicio de sesión. – Joseph

+0

@ceejayoz Estoy diciendo que lo use como un mecanismo de copia de seguridad, no como el principal. probablemente no sea algo que publicitarías en tu sitio, solo para usuarios que tienen problemas para iniciar sesión. – Joseph

Cuestiones relacionadas