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

193
Vistas
Use el objeto de la ventana para extraer el contenido del cuerpo de la ventana secundaria después de la autenticación de terceros

Tengo una aplicación web ejecutándose en localhost:3000 que contiene un botón. Cuando se hace clic en el botón, se abre una nueva ventana (hijo) con el siguiente código:

 let handle = window.open( "abc.html", "extension_popup", "width=700,height=700,status=no,scrollbars=yes,resizable=no" );

Dentro de abc.html, tengo lo siguiente:

 <!doctype html> <html> <title>3rd Party Login</title> <head> </head> <body> <script crossorigin src="<3rd Party SDK>.min.js"></script> <script type="text/javascript" src="./<3rd party wrapper>.js"></script> <script type="text/javascript" src="./abc.js"></script> </body> </html>

abc.js tiene un código que activa un inicio de sesión con el SDK de terceros. El inicio de sesión utiliza Oauth 2.0 y, por lo tanto, contiene redireccionamientos. Una vez que el inicio de sesión es exitoso, se muestra un código de autorización en la ventana secundaria. La URL en la ventana secundaria ahora lee la dirección del servidor de autenticación de terceros y no http://localhost:3000/abc.html.

Mi requisito es extraer este código que se muestra en el cuerpo de la ventana secundaria después de completar el inicio de sesión desde la página principal (http://localhost:3000).

tengo 2 preguntas:

  1. ¿Es posible lograr esto? Intenté usar el objeto "manejar" para hacer algo como lo siguiente: handle.document.getByElement ("título") o handle.document.getByElement ("cuerpo"). No he podido obtener ninguna información. En su lugar, recibo este error: Uncaught DOMException: Blocked a frame with origin "http://localhost:3000" from accessing a cross-origin frame.

  2. Si esto es posible, ¿cómo puedo esperar a que se complete la autenticación en la página principal antes de consultar la información presente en el cuerpo?

He visto scripts de contenido como parte de extensiones que se pueden usar para hacer chrome.runtime.sendMessage() para pasar información a otra ventana. Sin embargo, los scripts de contenido solo funcionan dentro del alcance de las extensiones. ¿Derecha?

Tampoco puedo agregar ningún código en abc.js para devolver esta información a la ventana principal porque una vez que comienza el proceso de autenticación, la página se redirige al dominio de terceros.

Realmente agradecería cualquier sugerencia sobre cómo hacer que esto funcione.

¡Gracias!

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