Pregunta

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

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

La entrada de wikipedia habla sobre responder con formularios que contienen detalles de SAMLRequest y SAMLResponse. ¿Esto significa que el usuario tiene que enviar físicamente el formulario para continuar con el inicio de sesión único?

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

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

¿Alguien sabe de algún otro buen recurso 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).

¿Fue útil?

Solución

La forma en que esto funciona es que, después de autenticar al usuario, el proveedor de identidad SAML (IdP) presenta un formulario al 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 JavaScript onLoad que envía el formulario, por lo que el efecto neto es que el usuario pasa automáticamente del IdP al SP, con la respuesta SAML en mano.

La única vez que un usuario tendría que hacer clic en algo para enviar el formulario es si tiene JavaScript deshabilitado. 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' es obsoleto desde hace mucho tiempo - para PHP SAML vea simpleSAMLphp .

Es una pena que su cliente quiera usar CA SiteMinder: el código abierto OpenAM (anteriormente conocido como OpenSSO ) hace esto con bastante facilidad.

Otros consejos

Este artículo explica está muy bien. También hay ejemplos para diferentes plataformas.

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

SAML

Puede mirar este enlace de imagen para comprender mejor el SSO de SAML. También quiero darte algunos enlaces. Estos enlaces son producto de empresas y tienen un ejemplo muy intuitivo de cómo funciona SAML: - https: // www .codeultimate.com / products / saml

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top