Cofrestrwch un gwrandawr dilysu dirprwy Chrome MV3 ar gyfer newid proffil
Cofrestrwch wrandawr dilysu Manifest V3 yn gydamserol a darllenwch y cyfrif dirprwy cyfredol y tu mewn i alwad ôl y digwyddiad.
Dylai newid proffiliau dirprwy newid y cyfrif a ddewiswyd, nid ychwanegu gwrandawr onAuthRequired arall. Fel arall gall hen gloesi barhau i ateb gyda chyfrif o ddewis blaenorol.
Cofrestrwch un gwrandawr enwog ar lefel uchaf y gweithiwr gwasanaeth. Darllenwch y cyfrif cyfredol pan ddaw digwyddiad:
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'],
);Mae'r darn hwn yn tybio bod yr estyniad eisoes yn storio'r dirprwy HTTP a ddewiswyd o dan selectedProxy, gyda phorth rhifiadol a'r cyfrif a fwriadwyd. Mae angen webRequest, webRequestAuthProvider, storage a'r caniatâd gwesteiwr gofynnol ar y maniffest. Mae angen caniatâd proxy ar y dewis dirprwy ei hun hefyd.
Mae'r gofrestriad yn digwydd yn gydamserol. Darllenir y storfa y tu mewn i'r alwad ôl, ar ôl i Chrome gael gwrandawr wedi'i osod i anfon ato. Mae cofrestru dim ond ar ôl i addewid storfa gychwynnol ddatrys yn creu bwlch deffro.
Ychwanegwch derfyn gwrthod cyn lansio
Mae'r darn yn dangos cofrestru a dewis cyfrif. Ychwanegwch gofnod ailgynnig cyfyngedig ar gyfer pob cais fel na chaiff cyfrinair a wrthodwyd ei gyflwyno'n ddiderfyn. Glanhewch y cofnod hwnnw ar gwblhau neu fethiant. Gall globals y gweithiwr ddiflannu pan fydd y gweithiwr yn stopio, felly cadwch y cyflwr sydd ei angen ar draws deffroadau mewn ardal storfa estyniad briodol.
Mae storage.session yn goroesi ailgychwyn y gweithiwr o fewn sesiwn y porwr; nid yw'n storfa cyfrif barhaol ar draws ailgychwyn y porwr. Diffiniwch beth mae'r estyniad yn ei wneud pan nad oes cyfrif a ddewiswyd ar gael.
Mae'r gwiriadau isProxy a challenger yn atal her gwefan annibynnol rhag derbyn y cyfrif hwn. Os nad yw'r porwr byth yn anfon y digwyddiad, ni all glanhau gwrandawr yn unig ei gynhyrchu: archwiliwch y cais gwirioneddol, y caniatâd a'r ymddygiad porwr ar wahân.