Esta aplicación está configurada para integrarse con Okta y desarrollada en python , un servicio de gestión de identidad y acceso, mediante el uso del protocolo SAML (Security Assertion Markup Language). Aquí está una descripción simplificada del funcionamiento del código:
Inicialización de la Aplicación FastAPI: Se crea una instancia de la aplicación FastAPI y se configura un middleware CORS para permitir peticiones de cualquier origen.
Configuración de SAML para Okta: Se establece una configuración específica para el manejo de autenticaciones SAML. Esto incluye la ruta al ejecutable xmlsec para la verificación de firmas digitales, un identificador de entidad, metadatos remotos (URL del proveedor de identidad, en este caso, Okta), configuración del servicio proveedor (SP), y la ubicación de un archivo de certificado.
Cliente SAML: Se crea un cliente SAML con la configuración establecida. Este cliente se utilizará para manejar las solicitudes y respuestas SAML.
Ruta '/login': Cuando un usuario accede a esta ruta, la aplicación prepara una solicitud de autenticación saml y redirige al usuario a la url proporcionada por okta para iniciar el proceso de inicio de sesión.
Ruta '/callback': Esta ruta maneja las respuestas SAML de Okta. Cuando un usuario se autentica con éxito en Okta, Okta envía una respuesta a esta ruta. La aplicación procesa esta respuesta, decodifica la respuesta SAML (que está en Base64), y verifica la firma para asegurarse de que la respuesta es auténtica. Luego, extrae la información del usuario de la respuesta y puede realizar acciones adicionales, como establecer una sesión de usuario.
Ejecución del Servidor: Finalmente, si se ejecuta este script como programa principal, inicia un servidor web en el host local (0.0.0.0) en el puerto 8000 usando Uvicorn, un servidor ASGI.
En resumen, esta aplicación sirve como un intermediario entre un usuario y Okta, manejando la autenticación del usuario con Okta usando SAML. Es útil para integrar la autenticación de Okta en aplicaciones web o sistemas que necesitan una gestión segura y centralizada de identidades.
Pero actualment tengo el problema que genera este error :
check_sig: ['C:\\openssl-xmlsec1\\xmlsec\\bin\\
xmlsec.exe', '--verify', '--enabled-reference-uris', 'empty,same-doc', '--enabled-key-data', 'raw-x509-cert', '--pubkey-cert-pem', 'C:\\Users\\ferna\\AppData\\Local\\Temp\\
tmpqhuvl19n.pem', '--id-attr:id', 'urn:oasis:names:tc:saml:2.0:protocol:Response', '--node-id', 'id9093609971818968428942990', '--output', 'C:\\Users\\ferna\\AppData\\Local\\Temp\\
tmpnhywm0f9.xml', 'C:\\Users\\ferna\\AppData\\Local\\Temp\\
tmp83k7ytpl.xml']
Signature Error: Failed to verify signature
XML parse error: Failed to verify signature
La idea es que el desarrollador contratado solucione para que haga la operacion de validacion de firma del xml con el certificado digital de forma correcta.
Contexto general del proyecto
El fuente ya esta creado y funcionando pero genera el error anterior, La idea es que el desarrollador contratado solucione para que haga la operación de validación de firma del xml con el certificado digital de forma correcta.
Plazo de Entrega: No definido