Chrome onAuthRequired: comprueba isProxy antes de enviar credenciales
La devolución de llamada de autenticación de Chrome puede describir un desafío del proxy o un desafío del origen. Proporcionar las mismas credenciales a ambos es un error de alcance de credenciales.
Una extensión del navegador puede encontrarse con desafíos de autenticación desde dos lugares distintos: el proxy que transporta la solicitud y el sitio web de destino. No deben recibir automáticamente la misma cuenta.
El discriminador útil en el evento webRequest.onAuthRequired de Chrome es isProxy. Una devolución de llamada que elimina esa comprobación solo para que desaparezca un aviso puede empezar a suministrar credenciales del proxy a un desafío del origen.
Coincide con el proxy en el que pretendes confiar
Comprobar isProxy es un comienzo. Limita también el tratamiento al desafiador de proxy esperado y al contexto de la solicitud. Una extensión que gestiona varios puntos de conexión debería seleccionar la cuenta perteneciente a ese punto de conexión, no una única contraseña global para cada desafío.
No des por sentado que configurar la ruta del proxy y gestionar su inicio de sesión son un solo permiso o una sola llamada a la API. Chrome los documenta por separado. Usa la referencia actual de webRequest para los datos de eventos y los permisos de autenticación. Un ejemplo de registro de un escucha de Manifest V3 muestra el registro síncrono y la selección de cuenta dentro de la devolución de llamada.
Comprueba la generación del manifiesto
Los ejemplos que mencionan una API WebRequest experimental provienen de versiones antiguas de la extensión. Los requisitos actuales de permisos dependen de la generación del manifiesto de la extensión y de su modelo de despliegue. En particular, el tratamiento de la autenticación tiene su propia vía de permisos admitida; un ejemplo obsoleto de escucha de bloqueo no basta para establecer que una extensión de Manifest V3 pueda ejecutarlo sin cambios.
Un controlador correcto también debe evitar reintentar indefinidamente las mismas credenciales rechazadas. Trata un segundo desafío tras una cuenta suministrada como evidencia que investigar, no como una petición de reproducir la contraseña para siempre.
Las credenciales deben permanecer en la vía de tratamiento protegida adecuada de la extensión. No las publiques en un archivo PAC ni las codifiques directamente en una muestra distribuida. El objetivo es un inicio de sesión de proxy de alcance estrecho, no una regla para todo el navegador que responda a cada desafío de autenticación con el mismo secreto.