Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

270
Vistas
Aplicación React dentro de iframe-resizer iframe: envíe datos de autenticación a través de sendMessage

Tengo dos aplicaciones: una que se ejecuta en una versión anterior de Angular (la aplicación principal) y otra que se ejecuta en React (las páginas incrustadas). Estoy usando iFrame Resizer en la aplicación Angular y el iframeresizer.content.min.js correspondiente en el encabezado de la aplicación React para habilitar la comunicación entre aplicaciones. La aplicación React se muestra como debería.

Sin embargo, me estoy encontrando con algunos problemas con la autenticación. Ambas aplicaciones utilizan los mismos datos de inicio de sesión y se comunican con las mismas API, que requieren información de autenticación. Actualmente estoy encadenando los datos de autenticación de la aplicación Angular (un token JWT) y pasándolo en el parámetro URL a la página React incrustada, pero el token se está volviendo demasiado grande para que esto sea viable a largo plazo.

La biblioteca iFrame Resizer proporciona una API de sendMessage, que me permite enviar la información de autenticación a la página HTML que contiene la aplicación React cuando se inicializa el iframe. En teoría, esto debería permitirme decodificar estos datos y guardarlos en el almacenamiento de la sesión antes de que se procese la aplicación React; la aplicación React tendría acceso a estos datos a través de la API sessionStorage. Este enfoque funciona en Edge, pero no en Chrome, Firefox o Safari: la aplicación se procesa y se crea una instancia de la aplicación React antes de configurar el objeto de autenticación de almacenamiento de la sesión.

Debido a que el almacenamiento de la sesión está configurado por la misma aplicación (dentro del mismo marco), no puedo escuchar ningún cambio de almacenamiento y responder a ellos. Y por lo que puedo decir, los scripts del lado del contenido de iFrame Resizer solo están disponibles fuera de la aplicación React (es decir, en index.html). La escucha de eventos de mensajes en la ventana proporciona resultados inconsistentes entre navegadores; algunos navegadores ven el mensaje de datos de autenticación cuando lo recibe el marco secundario, pero otros no.

Me preguntaba si alguien más había logrado superar este problema. ¿Quizás hay algún tipo de devolución de llamada no documentada que podría usar para enviar un mensaje del niño al padre y luego recuperar los datos de autenticación de esa manera?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda