Registreerige profiilivahetuse jaoks üks Chrome MV3 puhverserveri autentimise kuulaja
Registreerige Manifest V3 autentimise kuulaja sünkroonselt ja lugege praegust puhverserveri kontot sündmuse tagasikutses.
Puhverserveri profiilide vahetamine peaks muutma valitud kontot, mitte lisama veel ühte onAuthRequired kuulajat. Vastasel juhul võivad vanad sulundid jätkata vastamist eelmise valiku kontoga.
Registreerige üks nimetatud kuulaja teenustöölise ülemisel tasandil. Lugege praegust kontot, kui sündmus saabub:
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'],
);See katkend eeldab, et laiendus juba hoiab valitud HTTP puhverserverit selectedProxy all, numbrilise pordi ja kavandatud kontoga. Manifest vajab webRequest, webRequestAuthProvider, storage ja nõutavaid hostilube. Ka puhverserveri valik ise vajab proxy-luba.
Registreerimine toimub sünkroonselt. Salvestust loetakse tagasikutses pärast seda, kui Chrome'il on paigaldatud kuulaja, kellele saata. Registreerimine alles pärast algse storage-promise lahendamist tekitab ärkamislünga.
Lisage enne väljalaset tagasilükkamise piirang
Katkend näitab registreerimist ja konto valikut. Lisage iga päringu jaoks piiratud korduskatsete kirje, et tagasilükatud parooli ei esitataks lõputult. Kustutage see kirje lõpetamisel või ebaõnnestumisel. Töölise globaalid võivad töölise seiskumisel kaduda, seega hoidke ärkamiste vahel vajalikku olekut sobivas laienduse salvestuspiirkonnas.
storage.session elab üle töölise taaskäivitused brauseri seansi jooksul; see ei ole püsiv kontosalvestus brauseri taaskäivituste vahel. Määratlege, mida laiendus teeb, kui valitud kontot pole saadaval.
isProxy ja challenger kontrollid takistavad seotud mitteoleva veebisaidi väljakutsel seda kontot saada. Kui brauser ei saada sündmust kunagi, ei suuda kuulaja puhastamine üksi seda tekitada: uurige tegelikku päringut, lube ja brauseri käitumist eraldi.