O extensie de browser poate întâlni provocări de autentificare din două locuri diferite: proxy-ul care transportă cererea și site-ul web de destinație. Ele nu trebuie să primească automat același cont.

Discriminatorul util din evenimentul webRequest.onAuthRequired al Chrome este isProxy. Un callback care elimină această verificare doar pentru ca o solicitare să dispară poate începe să furnizeze credențiale de proxy unei provocări a originii.

Potriviți proxy-ul în care intenționați să aveți încredere

Verificarea isProxy este un început. Limitați și tratarea la provocatorul proxy așteptat și la contextul cererii. O extensie care gestionează mai multe puncte finale ar trebui să selecteze contul aparținând acelui punct final, nu o singură parolă globală pentru fiecare provocare.

Nu presupuneți că setarea rutei proxy și tratarea autentificării acesteia sunt o singură permisiune sau un singur apel API. Chrome le documentează separat. Folosiți referința webRequest actuală pentru datele evenimentelor și permisiunile de autentificare. Un exemplu de înregistrare a unui ascultător Manifest V3 arată înregistrarea sincronă și selectarea contului în interiorul callback-ului.

Verificați generația manifestului

Exemplele care menționează un API WebRequest experimental provin din versiuni vechi ale extensiei. Cerințele actuale de permisiuni depind de generația manifestului extensiei și de modelul de implementare. În special, tratarea autentificării are propria cale de permisiuni acceptată; un exemplu învechit de ascultător blocant nu este suficient pentru a stabili că o extensie Manifest V3 îl poate rula fără modificări.

Un handler corect trebuie să evite și reîncercarea la nesfârșit a acelorași credențiale respinse. Tratați o a doua provocare după furnizarea unui cont ca dovezi de investigat, nu ca o cerere de a reda parola pentru totdeauna.

Credențialele ar trebui să rămână pe calea de tratare protejată corespunzătoare a extensiei. Nu le publicați într-un fișier PAC și nu le codificați direct într-un exemplu distribuit. Scopul este o autentificare proxy cu domeniu restrâns, nu o regulă la nivel de browser care răspunde fiecărei provocări de autentificare cu același secret.

Articole similare