Por ejemplo:Usando OpenID para iniciar sesión en varios dominios: ¿Es factible este plan?
- Estamos corriendo a dos sitios de la comunidad en dos dominios (llamarlos
example.com
yexample.net
). - Queremos expandir eso a más dominios más adelante.
- 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 inicie sesión automáticamente en el otro (s).
En otras palabras, es un poco similar a la red StackExchange.
En este caso, ¿funcionaría este plan?
- Establecer
example.com
yexample.net
(y cualquier añadido posterior) como OpenID partes de confianza, que aceptan OpenID de solamenteid.example.org
. example.com
Puesta en funcionamiento yexample.net
hacer una solicitud de OpenID de respuesta inmediata la primera vez que los visita, por lo que si usted está conectado aid.example.org
que estés inmediata y automáticamente iniciar sesión en el sitio que está visitando. Deben establecer una cookie si no están conectados, para guardarlos haciendo esto en cada solicitud de página.- Configure
id.example.org
como un proveedor y consumidor de OpenID. También debe consumir Facebook y otros proveedores de identidad, y permitir el acceso estándar de usuario/contraseña. (Se pueden asociar varios métodos de inicio de sesión a una cuenta.) - Al cerrar la sesión, simplemente cambie los tokens de autenticación en la base de datos. El usuario aún tendrá cookies, pero no tendrán sentido. Por lo tanto, puede el usuario cerrar sesión en todos los sitios al mismo tiempo. Los tokens de autenticación múltiples se pueden almacenar contra un usuario a la vez (y deben ser diferentes para cada sitio), de modo que el usuario pueda cerrar la sesión en un navegador pero aún así iniciar sesión en otro. Cerrar sesión siempre cierra sesión en todos los sitios.
El único problema que veo con lo anterior es la siguiente:
example.com
Un usuario visita. Se ha configurado una cookie "no iniciada".- Zie pasa al
example.net
. Ídem. - Zie inicia sesión y continúa navegando en
example.net
. - Zie luego regresa a
example.com
y, debido a la "no conectados en" galleta, no se compara conid.example.org
y por lo tanto no está conectado. - Sin embargo, tan pronto como zie hace clic en el "Log in" botón, zie ha iniciado sesión.
No creo que sea un problema grave.
En general, creo que es un sistema bastante bueno. Me gustaría verlo revisado. ¿Hay algún problema que no haya previsto? ¿Sería con errores o lento? StackExchange usa un método muy diferente. Supongo que tienen una buena razón para eso.
http://www.bbc.co.uk/dna/h2g2/F20154027?thread=8074058. – TRiG