Estoy intentando implementar un escenario simple de inicio de sesión único donde algunos de los servidores participantes serán cuadros de Windows (IIS). Parece que SPNEGO es una ruta razonable para esto.SPNEGO (generación/validación de token de kerberos) para SSO con Python
Este es el escenario:
- usuario entra en mi servicio de SSO utilizando su nombre de usuario y contraseña. Lo autentico usando algún mecanismo.
- En algún momento posterior el usuario quiere acceder a la aplicación A.
- petición del usuario para la aplicación A es interceptada por el servicio SSO. El servicio SSO utiliza SPNEGO para iniciar la sesión del usuario para la aplicación A:
- el servicio SSO golpea en la página web de la aplicación A, consigue un "WWW-Authenticate: negociar" respuesta
- el servicio SSO genera una "Autorización: negociar xxx respuesta" en nombre del usuario, responde a la aplicación A. el usuario está conectado a App A.
- los SSO intercepta las peticiones de los usuarios de servicios posteriores para la aplicación a, insertar el encabezado de autorización en ellos antes de pasar en la aplicación A.
- petición del usuario para la aplicación A es interceptada por el servicio SSO. El servicio SSO utiliza SPNEGO para iniciar la sesión del usuario para la aplicación A:
¿Suena bien?
necesito dos cosas (al menos que se me ocurre ahora):
- la capacidad de generar la "Autorización: Negociar xxx" señal en nombre del usuario, preferentemente usando Python
- la capacidad de validar "Autorización: Negociar xxx" cabeceras en Python (para una parte posterior del proyecto)