Einen eenzegen Chrome MV3-Proxy-Authentifikatiouns-Lauschterer fir Profilwiessel registréieren
Registréiert de Manifest V3-Authentifikatiouns-Lauschterer synchron an liest dee momentanen Proxykont am Event-Callback.
De Wiessel vu Proxyprofilen sollt dee gewielte Kont änneren, net nach en aneren onAuthRequired-Lauschterer dobäisetzen. Soss kënnen al Closures weider mat dem Kont vun enger fréierer Auswiel äntweren.
Registréiert een eenzegen benannten Lauschterer op der ieweschter Stuf vum Service Worker. Liest dee momentanen Kont, wann en Event ukënnt:
function answerProxyChallenge(details, reply) {
if (!details.isProxy) {
reply({});
return;
}
chrome.storage.session.get('selectedProxy').then(({selectedProxy: p}) => {
if (!p || details.challenger.host !== p.host ||
details.challenger.port !== p.port) {
reply({});
return;
}
reply({authCredentials: {username: p.username, password: p.password}});
}).catch(() => reply({cancel: true}));
}
chrome.webRequest.onAuthRequired.addListener(
answerProxyChallenge,
{urls: ['<all_urls>']},
['asyncBlocking'],
);Dëse Fragment setzt viraus, datt d'Erweiderung dee gewielten HTTP-Proxy schonn ënner selectedProxy späichert, mat engem numeresche Port an dem virgesinnene Kont. De Manifest brauch webRequest, webRequestAuthProvider, storage an déi néideg Host-Berechtegungen. D'Proxyauswiel selwer brauch och d'proxy-Berechtegung.
D'Registréierung geschitt synchron. De Späicher gëtt am Callback gelies, nodeems Chrome en installéierte Lauschterer huet fir ze liwweren. Eréischt nodeems en initiale Storage-Promise opgeléist ass ze registréieren, schaaft eng Opwächerlück.
Füügt eng Oflehnungslimite virum Release dobäi
De Fragment weist d'Registréierung an d'Kontauswiel. Füügt en agegrenzte Widderhuelungsdatensaz pro Ufro dobäi, soudatt en ofgelehnt Passwuert net onendlech ageschéckt gëtt. Botzt dësen Datensaz bei Ofschloss oder Feeler. Worker-Globale kënnen verschwannen, wann de Worker stoppt, also hal date Status, deen tëscht Opwächer gebraucht gëtt, an engem passende Späicherberäich vun der Erweiderung.
storage.session iwwerlieft Worker-Neistarts bannent der Browsersitzung; et ass kee permanente Kontspäicher iwwer Browser-Neistarts. Definéiert, wat d'Erweiderung mécht, wann keen gewielte Kont verfügbar ass.
D'isProxy- an challenger-Kontrollen verhënneren, datt eng Fuerderung vun enger onverbonnener Websäit dësen Kont kritt. Wann de Browser den Event ni liwwert, kann d'Botze vum Lauschterer eleng en net produzéieren: iwwerpréift déi tatsächlech Ufro, d'Berechtegungen an d'Browserverhalen getrennt.