Í núverandi Electron-forritum skalt tú geva hvørjari kontuspesifikari WebContentsView sína egnu nevndu sessjón. Tá forritið er klárt, kann ein async hjálpari í høvuðsprosessinum seta eitt sýn upp:

const routeSession = session.fromPartition(partitionName);
await routeSession.setProxy({
  mode: 'fixed_servers',
  proxyRules: `http://${proxyHost}:${proxyPort}`,
});
const view = new WebContentsView({
  webPreferences: { session: routeSession },
});
view.webContents.on('login', (event, details, authInfo, callback) => {
  if (!authInfo.isProxy
      || authInfo.scheme.toLowerCase() !== 'basic'
      || authInfo.host !== proxyHost
      || authInfo.port !== proxyPort) return;
  event.preventDefault();
  if (details.firstAuthAttempt) callback(proxyUser, proxyPassword);
  else callback();
});

Lat eitt serstakt partitionName fyri hvørja isoleraða kontu og halt lyttarvarablarnar í closure hjá tí sýnini. Eitt navn uttan persist: ger eina sessjón í minninum. At brúka sama partit aftur brúkar viljandi sessjónsstøðuna hjá tí.

Fest sýnið á verandi vindeyga og far bert víðari, tá proxy og handler eru klár. Kotan fylgir verandi login-hendingarsáttmálanum, eisini firstAuthAttempt, og avlýsir eina avvísta endurtøku í staðin fyri at senda somu kontuna endalaust aftur.

Handlerin eftirkannar, at avbjóðingin kemur frá tí ætlaða Basic HTTP-proxyinum. Innritan á ein heimasíðu er ikki galdandi fyri hesi upplýsingar.

Proxyreglur velja endapunkin; login veitir kontuna. PAC-fílur og hondligar proxyreglur bera ikki sjálvar loyniorðið hjá hesi callback.

Hetta er HTTP-proxy-autentisering. Hon leggur ikki SOCKS5-autentisering at Chromium. Verandi sessjónssambond tørva eisini vanliga lívsskeiðshandfaring, tá ein rúta verður broytt seinni.

Skyldar greinar