Chrome onAuthRequired: comproba isProxy antes de enviar credenciais
A devolución de chamada de autenticación de Chrome pode describir un desafío de proxy ou un desafío de orixe. Fornecer as mesmas credenciais a ambos é un erro de ámbito de credenciais.
Unha extensión do navegador pode atopar desafíos de autenticación desde dous lugares distintos: o proxy que transporta a solicitude e o sitio web de destino. Non deben recibir automaticamente a mesma conta.
O discriminador útil no evento webRequest.onAuthRequired de Chrome é isProxy. Unha devolución de chamada que elimina esa comprobación só para que desapareza un aviso pode comezar a fornecer credenciais do proxy a un desafío de orixe.
Coincide co proxy no que pensas confiar
Comprobar isProxy é un comezo. Limita tamén o tratamento ao desafiador de proxy esperado e ao contexto da solicitude. Unha extensión que xestiona varios puntos de conexión debería seleccionar a conta pertencente a ese punto de conexión, non un único contrasinal global para cada desafío.
Non deas por feito que configurar a ruta do proxy e xestionar o seu inicio de sesión son un só permiso ou unha soa chamada á API. Chrome documéntaos por separado. Usa a referencia actual de webRequest para os datos de eventos e os permisos de autenticación. Un exemplo de rexistro dun oínte de Manifest V3 mostra o rexistro síncrono e a selección de conta dentro da devolución de chamada.
Comproba a xeración do manifesto
Os exemplos que mencionan unha API WebRequest experimental proveñen de versións antigas da extensión. Os requisitos actuais de permisos dependen da xeración do manifesto da extensión e do seu modelo de despregamento. En particular, o tratamento da autenticación ten a súa propia vía de permisos admitida; un exemplo obsoleto de oínte de bloqueo non abonda para establecer que unha extensión de Manifest V3 poida executalo sen cambios.
Un controlador correcto tamén debe evitar reintentar indefinidamente as mesmas credenciais rexeitadas. Trata un segundo desafío tras unha conta fornecida como evidencia que investigar, non como unha petición de reproducir o contrasinal para sempre.
As credenciais deben permanecer na vía de tratamento protexida axeitada da extensión. Non as publiques nun ficheiro PAC nin as codifiques directamente nunha mostra distribuída. O obxectivo é un inicio de sesión de proxy de ámbito estreito, non unha regra para todo o navegador que responda a cada desafío de autenticación co mesmo segredo.