SSO multiplataforma: ¿dónde comenzar?

Estoy investigando opciones para el inicio de sesión único entre dos sistemas dispares: uno .NET, uno Java EE. Cada uno de ellos se administra de forma independiente y tiene una administración de usuarios separada, con algunos usuarios superpuestos.

Me gustaría poder vincular de uno a otro sin volver a solicitar la contraseña.

Parece que hay muchas opciones para los productos y protocolos de SSO. Estoy bastante seguro de que podría codificar una única vez para generar y validar mis propios tokens seguros, pero preferiría no reinventar la rueda.

¿Qué recomendaría, en términos de enfoque y / o producto (preferiblemente de código abierto)?

Primero, ¿elegiría algo que sea compatible con SAML, OpenID, OAuth o ninguno de los anteriores?

Segundo, de los productos gratuitos / de código abierto que existen, conozco OpenAM, Shibboleth, JOSSO y CAS. ¿Alguna experiencia para compartir con alguno de ellos, buena, mala o fea?

Respuestas a la pregunta(2)

Su respuesta a la pregunta