Mi pregunta es una especie de seguimiento de esta publicación algo antigua, por lo que pensé en preguntar aquí, en lugar de solo preguntar a través de un comentario allí.
Mi pregunta es sencilla: tengo una plataforma en línea con restricciones de sesión muy estrictas (mismo sitio, solo http, tiempos de vida cortos, etc.) y mientras un usuario inicia sesión en la plataforma, puede ejecutar pagos. Estos pagos pueden redirigirlos a un dominio extranjero intermediario y luego volver al mío para su autenticación. Sin una solución alternativa (que he codificado y funciona) para la restauración de la sesión, la sesión se pierde y el proceso se interrumpe.
Aunque tengo una solución que funciona; Me preguntaba si no es posible abrir la página de redirección en una nueva pestaña a través de js (porque la redirección tiene que funcionar en js en la etapa actual de todos modos), confirmar el pago y luego, cuando se confirme el pago, cerrar la pestaña bancaria y haga las actualizaciones correspondientes en la pestaña de la plataforma. ¿Es esto posible a través de js? El problema que veo con la solución vinculada es:
btn.onclick = () => { const win = window.open( 'http://www.stackoverflow.com', 'Secure Payment'); const timer = setInterval(() => { if (win.closed) { clearInterval(timer); alert('"Secure Payment" window closed!'); } }, 500); }¿Cómo puedo saber cuándo el cliente terminó la autenticación en la otra pestaña, + evitar la redirección que se activará automáticamente en ese caso, al objetivo de redirección posterior a la autenticación que normalmente proporciona al solicitar el pago? ¿Hay alguna manera de rastrear todo esto en js? ¿Porque no veo ninguno...?