Naršyklės plėtinys gali susidurti su autentifikavimo iššūkiais iš dviejų skirtingų vietų: tarpinio serverio, kuris perduoda užklausą, ir paskirties svetainės. Jie neturi automatiškai gauti tos pačios paskyros.

Naudingas skirtukas Chrome webRequest.onAuthRequired įvykyje yra isProxy. Atgalinis iškvietimas, kuris pašalina šį patikrinimą vien tam, kad išnyktų raginimas, gali pradėti teikti tarpinio serverio kredencialus kilmės iššūkiui.

Suderinkite tarpinį serverį, kuriuo ketinate pasitikėti

Patikrinti isProxy yra pradžia. Taip pat apribokite apdorojimą laukiamu tarpinio serverio iššūkio teikėju ir užklausos kontekstu. Plėtinys, valdantis kelis galinius taškus, turėtų pasirinkti to galinio taško paskyrą, o ne vieną visuotinį slaptažodį kiekvienam iššūkiui.

Nemanau, kad tarpinio serverio maršruto nustatymas ir jo prisijungimo apdorojimas yra viena teisė ar vienas API iškvietimas. Chrome juos dokumentuoja atskirai. Naudokite dabartinę webRequest nuorodą įvykių duomenims ir autentifikavimo teisėms. Manifest V3 klausytojo registracijos pavyzdys rodo sinchroninę registraciją ir paskyros pasirinkimą atgalinio iškvietimo viduje.

Patikrinkite manifesto kartą

Pavyzdžiai, minimys eksperimentinį WebRequest API, kilę iš senų plėtinio leidimų. Dabartiniai leidimų reikalavimai priklauso nuo plėtinio manifesto kartos ir diegimo modelio. Visų pirma, autentifikavimo apdorojimas turi savo palaikomą leidimų kelią; pasenęs blokuojančio klausytojo pavyzdys nepakankamas įrodyti, kad Manifest V3 plėtinys gali jį vykdyti nepakeistą.

Teisingas apdorotojas taip pat turi vengti begalinio tų pačių atmestų kredencialų kartojimo. Antrą iššūkį po pateiktos paskyros traktuokite kaip tyrimo įrodymą, o ne kaip prašymą amžinai kartoti slaptažodį.

Kredencialai turėtų likti tinkamame apsaugotame plėtinio apdorojimo kelyje. Neskelbkite jų PAC faile ir neužkoduokite jų platinamame pavyzdyje. Tikslas yra siaurai apibrėžtas tarpinio serverio prisijungimas, o ne visos naršyklės taisyklė, atsakanti į kiekvieną autentifikavimo iššūkį tuo pačiu slaptuoju raktu.

Susiję straipsniai