CAS y sus alternativas parecen requerir un flujo como este cuando un servicio actúa como proxy para un usuario cuando accede a un servicio de back-end:
El servicio A realiza una solicitud al servicio B en nombre de un usuario. La solicitud incluye un token perecedero (ticket de proxy) del servidor de autenticación. El servicio B reenvía el token al servidor de autenticación, preguntando si es válido.
Parece que podría ser más eficiente que el servidor de autenticación firme el ticket, y que el Servicio B conozca la clave pública del servidor para que pueda validar el ticket por sí solo, sin necesidad por la solicitud extra. Obviamente, cualquier funcionalidad de cierre de sesión único debería dejarse en el Servicio A, pero, de lo contrario, todo esto parece ser algo positivo: es más robusto ante la latencia de la red o la caída del servidor de autenticación, y es aún más difícil de forzar. que un token aleatorio.
¿Hay desventajas o riesgos que me estoy perdiendo? ¿Alguien ha implementado esto realmente?