Sa kasalukuyang mga aplikasyong Electron, bigyan ang bawat WebContentsView na kaugnay ng account ng sarili nitong pinangalanang session. Kapag handa na ang app, maaaring i-configure ng async helper sa pangunahing proseso ang isang view:

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();
});

Magbigay ng hiwalay na partitionName para sa bawat nakahiwalay na account at itago ang mga variable ng tagapakinig sa closure ng view na iyon. Ang pangalang walang persist: ay gumagawa ng session sa memorya. Ang muling paggamit ng parehong partisyon ay sadyang muling gumagamit ng estado ng session nito.

Ikabit ang view sa umiiral na window at mag-navigate lamang kapag handa na ang proxy at handler nito. Target ng code ang kasalukuyang kontrata ng login event, kasama ang firstAuthAttempt, at kinakansela ang tinanggihang paulit-ulit na pagtatangka sa halip na walang hanggang ipadalang muli ang parehong account.

Sinusuri ng handler na ang hamon ay mula sa nilalayong Basic HTTP proxy. Ang pag-log in sa isang website ay hindi karapat-dapat para sa mga kredensyal na iyon.

Pinipili ng mga patakaran ng proxy ang endpoint; nagbibigay ang login ng account. Ang mga PAC file at manu-manong patakaran ng proxy ay hindi mismo nagdadala ng password ng callback na ito.

Ito ay HTTP proxy authentication. Hindi nito idinadagdag ang SOCKS5 authentication sa Chromium. Ang mga umiiral na koneksyon ng session ay nangangailangan din ng karaniwang pamamahala ng lifecycle kapag binago ang ruta sa ibang pagkakataon.

Kaugnay na mga artikulo