Skráðu einn Chrome MV3 proxy-auðkenningarhlustara fyrir sniðaskipti
Skráðu auðkenningarhlustara Manifest V3 samstillt og lestu núverandi proxyreikning inni í atburðar-svarinu.
Að skipta um proxysnið ætti að skipta um valinn reikning, ekki bæta við öðrum onAuthRequired-hlustara. Annars geta gömlur lokanir haldið áfram að svara með reikningnum frá fyrra vali.
Skráðu einn nefndan hlustara á efsta stigi þjónustuverkamannsins. Lestu núverandi reikning þegar atburður berst:
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'],
);Þetta brot gerir ráð fyrir að viðbótin geymi þegar valda HTTP-proxynið undir selectedProxy, með tölulegri gátt og tilætluðum reikningi. Skráin þarf webRequest, webRequestAuthProvider, storage og tilskilin hýsilleyfi. Sjálft proxyvalið þarf líka proxyleyfið.
Skráningin fer fram samstillt. Geymslan er lesin inni í svarinu, eftir að Chrome hefur uppsettan hlustara til að senda til. Að skrá aðeins eftir að upphaflegt storage-loforð er leyst skapar vakningarbil.
Bættu höfnunarmörkum við fyrir útgáfu
Brotin sýna skráningu og reikningsval. Bættu við takmörkuðu endurtilraunaskrá fyrir hverja beiðni svo hafnað lykilorð sé ekki sent endalaust. Hreinsaðu þá skrá þegar lokið er eða mistekst. Alþjóðlegar breytur verkamannsins geta horfið þegar verkamaðurinn stöðvast, svo geymdu stöðuna sem þarf milli vakninga á viðeigandi geymslusvæði viðbótarinnar.
storage.session lifir endurræsingar verkamannsins innan vafralotunnar; það er ekki varanleg reikningsgeymsla milli endurræsinga vafrans. Skilgreindu hvað viðbótin gerir þegar ekkert valið reikningur er tiltækur.
isProxy- og challenger-prófanir koma í veg fyrir að áskorun ótengdrar vefsíðu fái þennan reikning. Ef vafrinn sendir atburðinn aldrei getur hreinsun hlustarans ein og sér ekki framkallað hann: skoðaðu raunverulegu beiðnina, leyfin og hegðun vafrans hvert fyrir sig.