Registrearje ien Chrome MV3-proxy-ferifikaasjelústerder foar profylwiksling
Registrearje de Manifest V3-ferifikaasjelústerder synchroan en lês it aktuele proxy-akkount yn 'e evenemint-callback.
It wikseljen fan proxyprofylen moat it selektearre akkount feroarje, net noch in onAuthRequired-lústerder tafoegje. Oars kinne âlde closures trochgean mei antwurdzjen mei it akkount fan in eardere seleksje.
Registrearje ien neamd lústerder op it boppeste nivo fan 'e tsjinstwurker. Lês it aktuele akkount as in evenemint oankomt:
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'],
);Dit fragmint nimt oan dat de útwreiding it selektearre HTTP-proxy al ûnder selectedProxy bewarret, mei in numerike poarte en it bedoelde akkount. It manifest hat webRequest, webRequestAuthProvider, storage en de fereaske hostrjochten nedich. De proxyseleksje sels hat ek de proxy-tastimming nedich.
De registraasje bart synchroan. De opslach wurdt yn 'e callback lêzen, nei't Chrome in ynstalleare lústerder hat om nei te stjoeren. Pas registrearje nei't in earste storage-promise oplost, makket in wekkerwurdingsgat.
Foegje in ôfwizingslimyt ta foar it útbringen
It fragmint toant registraasje en akkountseleksje. Foegje in beheind weromprobearre-record ta foar elk fersyk, sadat in ôfwiisd wachtwurd net ûneinich ynstjoerd wurdt. Skjinje dat record op by foltôging of mislearring. Wurker-globals kinne ferdwine as de wurker stopt, hâld dêrom de steat dy't nedich is tusken wekkerwurdings yn in geskikt opslachgebiet fan 'e útwreiding.
storage.session oerlibbet werstarts fan 'e wurker binnen de browsersesje; it is gjin permaninte akkountopslach tusken werstarts fan 'e browser. Definiearje wat de útwreiding docht as der gjin selektearre akkount beskikber is.
De isProxy- en challenger-kontrôles foarkomme dat in útfining fan in net besibbe webside dit akkount ûntfangt. As de browser it evenemint nea stjoert, kin it skjinmeitsjen fan 'e lústerder allinnich it net produsearje: ûndersykje it werklike fersyk, de rjochten en it browsergedrach apart.