Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

197
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!