Joriy Electron ilovalarida hisobga bog'langan har bir WebContentsView'ga o'zining nomlangan sessiyasini bering. Ilova tayyor bo'lgach, asosiy jarayondagi async yordamchi bitta ko'rinishni sozlashi mumkin:

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

Har bir izolyatsiya qilingan hisob uchun alohida partitionName bering va tinglovchi o'zgaruvchilarini shu ko'rinishning closure'ida saqlang. persist: bo'lmagan nom xotiradagi sessiya yaratadi. Xuddi shu bo'limni qayta ishlatish uning sessiya holatini ataylab qayta ishlatadi.

Ko'rinishni mavjud oynaga bog'lab, faqat uning proksisi va ishlovchisi tayyor bo'lgach harakatlaning. Kod firstAuthAttemptni o'z ichiga olgan joriy login hodisasi shartnomasiga mo'ljallangan va rad etilgan takroriy urinishni xuddi shu hisobni cheksiz qayta yuborish o'rniga bekor qiladi.

Ishlovchi sinovning mo'ljallangan Basic HTTP proksidan kelganini tekshiradi. Veb-saytga kirish bu hisob ma'lumotlariga mos emas.

Proksi qoidalari so'nggi nuqtani tanlaydi; login hisobni taqdim etadi. PAC fayllari va qo'lda sozlangan proksi qoidalari bu callback parolini o'zi olib yurmaydi.

Bu HTTP proksi autentifikatsiyasi. U Chromium'ga SOCKS5 autentifikatsiyasini qo'shmaydi. Mavjud sessiya ulanishlari ham keyinchalik marshrut o'zgarganda odatdagi hayot sikli boshqaruvini talab qiladi.

O'xshash maqolalar