up 0 down

RESUMEN

  • Cuando se utiliza un único servidor de inicio de sesión (protocolos SAML), que puede directamente apunte el navegador para el cliente A y B. Ambas solicitudes del cliente tener éxito.
  • Sin embargo, al iniciar sesión en el cliente A través de un proxy web, el navegador solicitud de cliente B ignora las cookies del cliente A petición.
  • ¿Qué magia me estoy perdiendo aquí? ¿Puedo utilizar mi éxito "proxy login" solución?

DETALLES

En mi universo Tengo un ejemplo de Red Hat único servidor de inicio de sesión (RH-SSO) mediante el protocolo SAML. Mi SSO es el proveedor de identidad (IdP), y mi pareja tiene un proveedor de servicios de SSO (SP).

Puedo utilizar con éxito este escenario, lo que demuestra que tengo a preparar las cosas:

  1. Apuntar el navegador a mi IdP para el cliente A.

  2. La IdP dice que todavía no estoy inscrito, y responde con una página de inicio de sesión.

  3. Rellenar y enviar la página de inicio de sesión.

  4. La IdP autentica mis credenciales y le dice al navegador para redirigir a SP de la pareja.

  5. El navegador contactos SP de la pareja, utilizando las credenciales SAMLResponse.

  6. SP de la pareja acepta las credenciales y redirige el navegador a la página Web A.

  7. Apuntar el navegador a mi IdP para el cliente B.

  8. La IdP dice que estoy conectado y le dice al navegador para redirigir a SP de la pareja.

  9. SP de la pareja acepta las credenciales y redirige el navegador a la página Web B.

Este escenario funciona, sino que requiere mi usuario a visitar una página de inicio de sesión. Estoy queriendo dejar que mi servidor automagicamente hacer el login para SSO. Algo como esto:

  1. Apuntar el navegador a un sitio web de negocios existentes de la mía.

  2. El usuario inicia sesión en el uso de un sistema de autenticación legado.

  3. Haga clic en un enlace que abre una nueva ventana.

  4. En la nueva ventana, el sitio de negocio existente abre un canal de comunicación posterior con el RH-SSO.

  5. En el canal de retorno, pida el cliente A.

  6. La IdP responde con una página de inicio de sesión.

  7. En el canal de retorno, la página de inicio de sesión está vacío, y entregados. El usuario no está preocupado con otra página de acceso.

  8. En el canal de retorno, el IdP autentica mis credenciales y le dice al navegador para redirigir a SP de la pareja.

  9. Esta página devuelto, con sus cabeceras y galletas, se transfiere desde el canal de vuelta a la respuesta original del navegador.

  10. El navegador contactos SP de la pareja, utilizando las credenciales SAMLResponse.

  11. SP de la pareja acepta las credenciales y redirige el navegador a la página Web A.

  12. Apuntar el navegador a mi IdP para el cliente B.

  13. La IdP dice que estoy conectado y le dice al navegador para redirigir a SP de la pareja.

  14. SP de la pareja acepta las credenciales y redirige el navegador a la página Web B.

Estos sistema de "inicio de sesión proxy" se diferencia de la llamada iniciada por el IdP de esta manera:

  • El sistema de "inicio de sesión proxy" sabe que está pidiendo para ir al cliente A, y utiliza esta información para iniciar sesión en el servidor SSO por poder.
  • Los "inicio de sesión" proxy del sistema de contactos del SSO a través de la dirección URL de la sitio web de negocios, no se utiliza la dirección URL de la SSO IdP.

Yo ya he implementado dos sistemas. Me he asegurado, y lo he probado, que ambos vuelven a la cabecera idéntica navegador y la información de cookies.

Aquí es el síntoma principal de mi problema: El navegador se niega a usar las cookies de volver de la respuesta de "inicio de sesión mediante proxy". Incluso si hago una solicitud de página web al sitio web de negocios existentes, no se utilizan las cookies.

He probado una variedad de soluciones ya, como la adición de "dominio =" atribuye a las cookies, la edición de la "Ruta =". Incluso la cookie del equilibrador de carga es ignorada por el navegador en el escenario de "cliente B" (demostrado esto mediante el trazado de lo que ve el equilibrador de carga).

Esta es mi pregunta:
¿Cómo puedo configurar las cosas para que yo pueda seguir proxy a la conexión del usuario con inicio de sesión único, y sin embargo tener la llamada "cliente B" utilizar las galletas de volver del proxy "cliente una" llamada?

TIA,

Jerome.