Ofrecemos una serie de servicios en línea. Estamos obligados a desarrollar un sistema que proporcione una experiencia rápida/simple para los usuarios si se transfieren desde un servicio (en domain1.com
) a otro servicio (en domain2.com
).Inicio de sesión de dominios cruzados: cómo iniciar sesión automáticamente cuando se transfiere de un dominio a otro
¿Existe una forma segura de iniciar sesión automáticamente en un usuario una vez que ha sido transferido al nuevo servicio?
Gríteme si la solución a continuación es completamente insegura/incorrecta.
Estábamos considerando un sistema similar al proporcionado por una serie de servicios en línea para la recuperación de contraseñas: se les envía un enlace por correo electrónico con un hash único que expira, que les permite cambiar su contraseña.
El domain1.com
generaría un hash único y lo almacenaría en una base de datos con el hash vinculado a un usuario junto con un campo de fecha y hora de caducidad.
El usuario será transferida a domain2.com/auto/?hash=d41d8cd98f00b204e9800998ecf8427e
domain2.com
sería el próximo hacer una petición a domain1.com
con el hash para obtener la información sobre el usuario. domain1.com
eliminaría el hash de la base de datos. domain2.com
sería iniciar sesión el usuario y establecer cookies, etc.
¿Podría algo basado en OpenID u OAuth lograr los mismos resultados?
Con SSL. No puedes jugar man-in-the-middle si Jack autentica el dominio1.servidor COM y tiene un canal confidencial. – erickson
buen punto. Eso teóricamente debería significar que el modelo de OP debería ser razonablemente seguro tal como está, asumiendo que están usando SSL. – BenAlabaster