what sso single protocol onelogin explained java security single-sign-on saml

java - single - Cómo implementar SAML SSO



single sign on java (3)

¿Cómo se implementa típicamente SAML SSO?

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

La entrada de wikipedia se refiere a la respuesta con formularios que contienen detalles de 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 otros buenos recursos sobre cómo 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).


La forma en que esto funciona es que, después de autenticar al usuario, el proveedor de identidades SAML (IdP) presenta un formulario al navegador que contiene la respuesta SAML; la ''acción'' (es decir, el objetivo) del formulario es el proveedor del servicio (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 debería hacer clic en cualquier elemento para enviar el formulario es si tiene JavaScript desactivado. En este caso, las implementaciones de SAML generalmente proporcionan un mensaje con un botón para presionar la etiqueta <noscript> .

Para obtener más detalles, consulte este artículo que escribí hace unos años, pero tenga en cuenta que ''Lightbulb'' ya está obsoleto por 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.


Si Siteminder es la parte confiable, entonces necesitaría escribir un agente personalizado para tomar un artefacto SAML y crear una SM-Session. De lo contrario, deberá comprar un producto que tenga esta funcionalidad ya construida.


Este artículo explica que está muy bien. Hay ejemplos para diferentes plataformas también.