Estoy tratando de entender cómo funcionan varias tecnologías SSO como SAML 2.0, OpenID Connect 1.0.
En general, funcionan de manera similar al proporcionar tokens (XML, JSON) a través del Proveedor de Identidad al Proveedor de Servicio.
Lo que no entiendo completamente es cómo se aseguran estos tokens para que nadie pueda robarlos y usarlos desde diferentes dispositivos para obtener una sesión autenticada y suplantar.
Además, ¿cómo se almacenan estos tokens? ¿Se almacenan como una cookie en un navegador? Si es así, ¿sería posible robar una cookie de token y usarla para hacerse pasar por otra persona?
¿Cómo puedo detectar que el token se utiliza de manera no autorizada?
Estoy buscando una vista práctica de cómo se aseguran y se representan los tokens cuando se establece la autenticación o cuando se usa como SSO, por lo que el proveedor de identidad no la requiere.