Uso de OpenID para iniciar sesión en varios dominios: ¿Es este plan viable? [cerrado]

8

Por ejemplo:

  • Estamos ejecutando dos sitios de comunidad en dos dominios (llámalos example.com y example.net ).
  • Queremos poder expandir eso a más dominios más tarde.
  • Queremos permitir múltiples tipos de inicio de sesión (OpenID, Facebook, Twitter, nombre de usuario / contraseña estándar).
  • Queremos que alguien que haya iniciado sesión en un sitio se registre automáticamente en el otro (s).

En otras palabras, es un poco similar a la red StackExchange.

En este caso, ¿funcionaría este plan?

  • Configure example.com y example.net (y cualquier adición posterior) como usuarios de confianza de OpenID, que aceptan el inicio de sesión de OpenID solo desde id.example.org .
  • Configure example.com y example.net para hacer una solicitud inmediata de respuesta de OpenID la primera vez que los visite, de modo que si inicia sesión en id.example.org , inicie sesión de forma inmediata y automática en el sitio que ' re visitando Deben establecer una cookie si no ha iniciado sesión, para guardarlos haciendo esto en cada solicitud de página.
  • Configure id.example.org como proveedor y consumidor de OpenID. También debería consumir Facebook y otros proveedores de identidad, y permitir el acceso estándar de usuario / contraseña. (Se podrían adjuntar varios métodos de inicio de sesión a una cuenta).
  • Al cerrar sesión, simplemente cambie los tokens de autenticación en la base de datos. El usuario todavía tendrá cookies, pero no tendrá sentido. De este modo, el usuario puede cerrar sesión en todos los sitios simultáneamente. Se pueden almacenar múltiples tokens de autenticación contra un usuario a la vez (y deben ser diferentes para cada sitio), de modo que el usuario pueda cerrar sesión en un navegador y seguir conectado en otro. Al cerrar sesión, siempre se cierra la sesión en todos los sitios.

El único problema que puedo ver con lo anterior es este:

  • Alguien visita example.com . Se establece una cookie "no registrada".
  • Zie luego pasa a example.net . Lo mismo.
  • Zie luego inicia sesión y continúa navegando en example.net .
  • Zie luego regresa a example.com y, debido a la cookie "no registrada", no se compara con id.example.org y, por lo tanto, no está registrada.
  • Sin embargo, tan pronto como Zie haga clic en el botón "Iniciar sesión", Zie iniciará sesión.

No creo que este sea un problema importante.

En general, creo que es un sistema bastante bueno. Solo me gustaría verlo revisado. ¿Hay algún problema que no haya previsto? ¿Sería buggy o lento? StackExchange utiliza un método muy diferente. Supongo que tienen una buena razón para eso?

    
pregunta TRiG 01.07.2011 - 21:51

1 respuesta

0

Movable Type utiliza un método de inicio de sesión muy similar al que usted describe. Personalmente no me importa, pero hay ocasiones en las que se lo presento a un cliente y ellos pueden ayudar, pero preguntan: "¿qué está pasando exactamente aquí?"

El proyecto que más me ha intrigado con respecto a la creación de un sistema de inicio de sesión coherente es el Google Identity Toolkit . La experiencia del usuario es muy acertada y la facilidad con la que parece ser implementable es muy atractiva.

    
respondido por el Byrne Reese 13.09.2011 - 23:32

Lea otras preguntas en las etiquetas