es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Carga de Angular UI de un dominio cruzado dentro de un iframe

Tenemos la necesidad de cargar una interfaz de usuario angular alojada internamente desde un sitio web seguro de partners externos. Estamos utilizando un flujo de autenticación OIDC llamando a un servidor IDP interno para recuperar/validar los tokens de usuario.

El problema es que no podemos hacer modificaciones personalizadas en las reglas del servidor IDP interno para permitir que el dominio de partners externos sea válido para llamarlo desde un iframe (Política de seguridad de contenido).

Esto nos provoca un error relacionado con una Política de seguridad de contenido inválida, ya que el dominio de partners externos no se encuentra en la lista de dominios permitidos por la CSP. Si servimos esta interfaz de usuario en un iframe desde un dominio interno de la empresa (permitido por la CSP), funciona perfectamente.

Suponiendo que debemos cargar nuestra interfaz de usuario interna desde el sitio web de partners de forma inline (iframe u otro), y autenticar a nuestros usuarios utilizando un patrón oauth, ¿existen soluciones viables para este problema?

Entiendo que la CSP y las cabeceras x-frame-option están configuradas de esta manera para evitar riesgos de seguridad de click-jacking, por lo que no estoy seguro de si lo que se nos pide es posible manteniendo la seguridad. La primera idea es posiblemente poner un servicio proxy entre el sitio web de partners y nuestra interfaz de usuario, y que el servicio proxy se encargue de la autenticación… evitando las reglas de la CSP… pero esto no parece necesariamente seguro, y tampoco estoy seguro de cómo implementarlo. Cualquier pensamiento o idea sería bienvenida. ¡Gracias!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Cargando la interfaz de usuario interna dentro de un sitio web seguro de socios externos

    Descripción del problema

    El problema consiste en cargar una interfaz de usuario Angular alojada internamente desde dentro de un sitio web seguro de un socio externo. El flujo de autenticación utilizado es OIDC, que llama a un servidor IDP interno para recuperar y validar los tokens de usuario. Sin embargo, no se pueden realizar modificaciones en las reglas del servidor IDP interno para permitir el dominio del socio externo como válido para llamar desde dentro de un iframe debido a las restricciones de la Política de seguridad de contenido (CSP, por sus siglas en inglés). Esto resulta en un error relacionado con la CSP no válida, ya que el dominio del socio externo no está dentro de la lista de dominios permitidos por la CSP.

    Posibles soluciones

    Servicio de proxy

    Como se sugiere, utilizar un servicio de proxy entre el sitio web del socio y la interfaz de usuario es una solución viable. El servicio de proxy se encargaría de la autenticación y eludiría las reglas de CSP. Sin embargo, implementar esta solución puede no ser segura y requiere una consideración cuidadosa.

    Otras soluciones

    Puede haber otras soluciones que se puedan explorar, como:

    • Utilizar un flujo de autenticación alternativo que no dependa de OIDC y del servidor IDP interno.
    • Utilizar un servidor proxy inverso para manejar las restricciones de CSP y permitir el acceso a la interfaz de usuario dentro de un iframe.
    • Negociar con el socio externo para permitir el dominio de la empresa dentro de sus reglas de CSP.

    Conclusión

    Cargar una interfaz de usuario interna dentro de un sitio web seguro de un socio externo requiere una consideración cuidadosa y la adhesión a medidas de seguridad. Las opciones mencionadas anteriormente son algunas posibles soluciones que se pueden explorar.

Comments are closed.