At skifta proxy-profilum eigur at skifta ta valdu kontuna, ikki at leggja ein onAuthRequired-lurara aftrat. Annars kunnu gomul closures halda fram at svara við kontuni frá fyrrverandi vali.

Skráset ein einasta nevnda lurara á ovasta stigi tænastuarbeiðaranum. Les ta núverandi kontuna, tá ið ein hending kemur:

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'],
);

Hetta brotið eigur sær, at útbyggingin longu goymir ta valdu HTTP-proxyina undir selectedProxy, við einum tølutali-porti og tí ætlaðu kontuni. Manifestið tørvar webRequest, webRequestAuthProvider, storage og tey neyðugu verts-loyvini. Sjálvt proxy-valið tørvar eisini proxy-loyvið.

Skrásetingin fer fram samstundis. Goymslan verður lisin í afturkallingini, eftir at Chrome hevur ein installeraðan lurara at senda til. At skráseta fyrst eftir at eitt upprunaligt storage-promise er lovst skapar eitt vakningsglop.

Legg eina avvísingarmark før útgávu

Brotið vísir skráseting og kontuval. Legg eitt avmarkað endurtøku-innritan fyri hvørja fyrispurning, so at eitt avvíst loyniorð ikki verður sent óendaligt. Rýma ta innritanina tá ið liðugt er ella mistekst. Altjóða variablar í arbeiðaranum kunnu hvørva, tá ið arbeiðarin steðgar, so goym tað støðu, sum tørv er á millum vakningar, í einum hóskandi goymsluøki í útbyggingini.

storage.session yvirlivir endurbyrjanir av arbeiðaranum innan fyri kagarnar-sessjónina; tað er ikki varandi kontugoymsla millum endurbyrjanir av kagarnum. Greið frá, hvat útbyggingin ger, tá ið eingin vald konto er tøk.

isProxy- og challenger-kanningarnar forða fyri, at ein óviðkomandi heimasíðu-avbjóðing fær hesa kontuna. Um kagarin ongantíð sendir hendingina, kann lurara-rýming einsamalt ikki framleiða hana: kanna veruliga fyrispurningin, loyvini og atferð kagans hvør sær.

Skyldar greinar