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.

La extensión de Edge provoca un bloqueo completo del navegador en la llamada de la API después de la última actualización (launchWebAuthFlow).

EDIT: ¡ESTO SE HA SOLUCIONADO EN LA ACTUALIZACIÓN 98.0.1108.43!
EDIT2: ¡OLVÍDALO! ¡LA VENTANA EMERGENTE DE INICIO DE SESIÓN AHORA SE MUESTRA, PERO EN EL MOMENTO EN QUE INTENTAS INICIAR SESIÓN, SIGUE BLOQUEÁNDOSE!
EDIT3: FINALMENTE SOLUCIONADO 🙂

Estoy creando una extensión del navegador para mi trabajo.

La función launchWebAuthFlow ha funcionado maravillosamente desde que comencé este proyecto, pero luego Edge decidió actualizarse (a la versión 96.0.1054.43, y ahora nuevamente a la versión 96.0.1054.53, y ahora nuevamente a la versión 96.0.1054.57, y ahora nuevamente a la versión 96.0.1054.62, ahora nuevamente a la versión 97.0.1072.55, y ahora nuevamente a la versión 97.0.1072.62 después de que MS me envió un correo electrónico diciendo que lo habían solucionado, y ahora nuevamente a la versión 97.0.1072.69, y ahora nuevamente a la versión 97.0.1072.76) y ahora todo el navegador se bloquea instantáneamente cuando se llama a la función launchWebAuthFlow. He intentado volver a una versión anterior de Edge, pero no he encontrado ningún enlace de descarga de versiones anteriores.

Mi authUrl se ve así (¡y había funcionado hasta ahora antes de las actualizaciones!):
https://login.microsoftonline.com/common/oauth2/authorize
He eliminado los argumentos por privacidad.

Este código solo no se bloquea, pero tampoco muestra ninguna ventana:

chrome.identity.launchWebAuthFlow(
  {
    interactive: true,
    url: authUrl
  }
);

Este código se bloquea (!) y debería mostrar una ventana (y este es el código que he estado usando que había funcionado durante mucho tiempo hasta la actualización):

chrome.identity.launchWebAuthFlow(
  {
    interactive: true,
    url: authUrl
  },
  (response) =>
  {
    console.log("Esto nunca se imprime porque el navegador se bloquea!");
  }
);

Encontré esto: https://stackoverflow.com/questions/70187797/chrome-extension-crashes-the-microsoft-edge-browser-while-calling-launchwebauthf

La respuesta aceptada para esa pregunta dice que esto es una solución alternativa:

return await global.chrome.windows.create({
    focused: true,
    height : 800,
    width: 800,
    url: authURL
})

Pero no funciona para mí. chrome.windows.create crea y muestra una ventana, pero devuelve undefined, así que no sé qué hacer.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en JavaScript y Microsoft Edge, comprendo la frustración de encontrarse con problemas con la función launchWebAuthFlow en Edge. Parece que las actualizaciones recientes de Edge han causado que el navegador se bloquee cuando se llama a esta función.

    Si bien es lamentable que no sea una opción retroceder a una versión anterior de Edge debido a la falta de enlaces de descarga de versiones anteriores, hay una solución alternativa sugerida por un usuario de StackOverflow. Sin embargo, parece que no está funcionando para usted, ya que la función chrome.windows.create está creando y mostrando una ventana pero devuelve indefinido.

    Afortunadamente, ¡la buena noticia es que el problema se ha solucionado en la actualización 98.0.1108.43! Bueno, en realidad parecía que se había solucionado, pero luego no lo estaba en las actualizaciones posteriores (96.0.1054.53, 96.0.1054.57, 96.0.1054.62, 97.0.1072.55, 97.0.1072.62, 97.0.1072.69 y 97.0.1072.76…). Sin embargo, finalmente se ha resuelto el problema.

    Entonces, para cualquier persona que encuentre este problema en el futuro, asegúrese de que su navegador Edge esté actualizado a la última versión (98.0.1108.43 o posterior) para evitar cualquier bloqueo al usar la función launchWebAuthFlow.

Comments are closed.