Estoy jugando con una especie de procedimiento de inicio de sesión único. Digamos que hay sitio1 y sitio2 y ambos usan un certificado SSL. Los usuarios han iniciado sesión en site1. Me preguntaba qué piensan los expertos de esta manera para permitir que los usuarios inicien sesión automáticamente en site2 que está alojado en un servidor diferente:
- al hacer clic en un enlace en site1 se obtiene la url (en site2) y 2 códigos de una base de datos
- site1 redirige a la url (en site2) y envía los 2 códigos como una solicitud posterior
- Site2 comprueba si la página a la que se redirige es realmente de site1 y si la combinación de los códigos es correcta
- Si es así, site2 crea un hash, lo almacena en la base de datos y envía el resultado a site1
- Site1 redirige a site2 y envía el hash
- si el hash está en la base de datos y se recibió de site1 y dentro de poco tiempo después de crearlo, el usuario inició sesión.
¿Es esta una forma (bastante) segura para un procedimiento de firma en el procedimiento o es terriblemente inseguro? Si esto último: ¿dónde están los peligros?