2009-04-30 30 views
36

¿Cómo se implementa SAML SSO?Cómo implementar SAML SSO

He leído this (n.b. obsoleto) sobre el uso de SAML con Google Apps, y la entrada de la wikipedia en SAML.

la entrada de Wikipedia habla de responder con formas que contiene detalles de la SAMLRequest y SAMLResponse. ¿Esto significa que el usuario debe enviar físicamente el formulario para continuar con el inicio de sesión único?

La entrada de Google habla sobre el uso de redirecciones, que me parece más parecido. Sin embargo, también habla sobre el uso de un formulario para la respuesta que el usuario debe enviar (aunque sí habla sobre el uso de JavaScript para enviar automáticamente el formulario).

¿Es esta la forma estándar de hacer esto? ¿Utiliza redirecciones y JavaScript para enviar formularios?

¿Alguien sabe de cualquier otro recurso buenas acerca de cómo hacer para implementar SSO entre un dominio de Windows y una aplicación web J2EE. La aplicación web está en una red/dominio separado. Mi cliente quiere usar CA Siteminder (con SAML).

Respuesta

25

La forma en que esto funciona es que, después de autenticar al usuario, el proveedor de identidades SAML (IdP) genera un formulario para el navegador que contiene la respuesta SAML - la 'acción' del formulario (es decir, el objetivo) es el proveedor de servicios (SP) . En el HTML, hay un evento onLoad de JavaScript que envía el formulario, por lo que el efecto neto es que el usuario se toma automáticamente del IdP a la respuesta SP, SAML en la mano.

La única vez que un usuario tendría que pulsar nada para enviar el formulario es si tienen JavaScript desactivado. En este caso, las implementaciones de SAML suelen proporcionar un mensaje con un botón para presionar la etiqueta <noscript>.

Para obtener más información, consulte this article I wrote a few years ago - pero tenga en cuenta que 'Lightbulb' ya es obsoleto hace mucho tiempo - para PHP SAML vea simpleSAMLphp.

Es una pena que su cliente quiera usar CA SiteMinder, la fuente abierta OpenAM (anteriormente conocida como OpenSSO) lo hace con bastante facilidad.

+4

OpenSSO está muerto, creo que se ha reencarnado en OpenAM –

+0

Estás en lo correcto, @TobyHobson. Edité mi respuesta. – metadaddy

+0

El enlace del artículo ya no funciona. ¿Todavía está ahí afuera? Gracias. – IcedDante

0

Si Siteminder es la parte que confía, entonces usted tendría que escribir un agente de aduanas para tomar un artefacto SAML y crear un SM-Session. De lo contrario, deberá comprar un producto que tenga esta funcionalidad ya construida.

5

This article explica está muy bien. Hay ejemplos para diferentes plataformas también.

+0

Sí, hay clases para enviar la solicitud automática, pero no hay clases para recibir la solicitud, analizarla y enviar la respuesta. – Ashwin

+3

Enlace no existe. ¿Alguna actualización? – Jerry

Cuestiones relacionadas