Esto se puede hacer a través de un dominio que actúa como un maestro y otros como un esclavo.
Digamos que tenemos un dominio accounts.domain.com y es nuestro maestro.
Entonces tenemos nuestros esclavos domain.com
, y something.com
another.com
Cuando usted inicia la sesión en domain.com, que va a ser realmente accounts.domain.com
sitio, entonces obtendrá una cookie con la identificación única para su navegador y luego será redirigido a la página de inicio de sesión posterior a domain.com (es decir, domain.com/logon?check=true&unique-id=<browser unique id>&request-id=<unique request ID>
). la página de inicio se comunicará con el accounts.domain.com
, solicitándolo con la ID del navegador. Si la transacción está bien, obtendrá una cookie de inicio de sesión de domain.com
.
A continuación, en cada dominio (domain.com
, something.com
y another.com
) se realizará una redirección inicial a accounts.domain.com/roaming-check?return-url=<URL the redirect was initiated from>
.Debido a que volvemos a casa (ya hemos iniciado sesión en accounts.domain.com
), seremos redireccionados de nuevo en nuestra página de destino (<domain name>.com/logon?check=true&unique-id=<browser unique id>&request-id=<unique request ID>
) y a partir de este punto es lo mismo que la parte con el inicio de sesión. Estamos vagabundeados a otro dominio (sin que el usuario lo sepa, ya que los navegadores no suelen mostrar la página redirigida hasta que pasa la sección de envío de encabezados/recepción (navegador)).
En caso de que no haya ningún inicio de sesión activo, el sitio guardará este "inicio de sesión negativo" en la sesión y no intentará volver a iniciar sesión (hasta que intentemos iniciar sesión o cargar otro dominio).
Aquí hay otra publicación en stackoverflow que muestra cómo lo hace Facebook, y sí, es posible con iframes y javascript. http://stackoverflow.com/questions/4701922/how-does-facebook-set-cross-domain-cookies-for-iframes-on-canvas-pages – inorganik
[HTTP State Management Mechanism RFC6265] (http: // tools. ietf.org/html/rfc6265) – hakre