Electron-en ikuspegiek HTTP proxy kontu bereiziak izan ditzakete
Sortu kontu bakoitzeko saio bat WebContentsView bakoitzarentzat eta erantzun soilik ikuspegi horren Basic proxy erronkari.
Egungo Electron aplikazioetan, eman kontu bakoitzari lotutako WebContentsView bakoitzari bere izeneko saioa. Aplikazioa prest dagoenean, prozesu nagusiko async laguntzaile batek ikuspegi bat konfigura dezake:
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();
});
Eman partitionName desberdin bat kontu isolatu bakoitzeko eta eduki entzulearen aldagaiak ikuspegi horren closurean. persist: gabeako izenak memorian dagoen saioa sortzen du. Partizio bera berrerabiltzeak berariaz berrerabiltzen du bere saio-egoera.
Erantsi ikuspegia lehendik dagoen leihoari eta nabigatu bere proxy eta kudeatzailea prest daudenean bakarrik. Kodeak uneko login gertaeraren kontratua betetzen du, firstAuthAttempt barne, eta baztertutako errepikapen saiakera bertan behera uzten du kontu bera amaigabe berriz bidali beharrean.
Kudeatzaileak egiaztatzen du erronka aurreikusitako Basic HTTP proxy-tik datorrela. Webgune bateko saio-hasiera ez da baliozkoa kredentzial horietarako.
Proxy arauek amaiera-puntua hautatzen dute; loginek kontua ematen du. PAC fitxategiek eta proxy arau eskuzkoek ez dute beren kabuz callback honen pasahitza eramaten.
Hau HTTP proxy autentifikazioa da. Ez dio SOCKS5 autentifikaziorik gehitzen Chromiumi. Dauden saio-konexioek beren bizitza-zikloaren ohiko kudeaketa behar dute ibilbidea geroago aldatzen denean.