Chrome onAuthRequired: tarkista isProxy ennen tunnistetietojen lähettämistä
Chromen todennuksen takaisinkutsu voi kuvata välityspalvelimen tai alkuperän haasteen. Samojen tunnistetietojen antaminen molemmille on tunnistetietojen laajuusvirhe.
Selainlaajennus voi kohdata todennushaasteita kahdesta eri paikasta: pyynnön välittävästä välityspalvelimesta ja kohdesivustosta. Niiden ei pidä automaattisesti saada samaa tiliä.
Hyödyllinen erottelija Chromen webRequest.onAuthRequired-tapahtumassa on isProxy. Takaisinkutsu, joka poistaa tämän tarkistuksen vain saadakseen kehotteen katoamaan, voi alkaa toimittaa välityspalvelimen tunnistetietoja alkuperän haasteelle.
Sovita välityspalvelin, johon aiot luottaa
isProxy tarkistaminen on alku. Rajaa käsittely myös odotettuun välityspalvelimen haastajaan ja pyynnön kontekstiin. Useita päätepisteitä hallitsevan laajennuksen tulisi valita kyseiseen päätepisteeseen kuuluva tili, ei yhtä yleistä salasanaa jokaiseen haasteeseen.
Älä oleta, että välityspalvelimen reitin asettaminen ja sen kirjautumisen käsittely ovat yksi käyttöoikeus tai yksi API-kutsu. Chrome dokumentoi ne erikseen. Käytä nykyistä webRequest-viitettä tapahtumatietoihin ja todennuksen käyttöoikeuksiin. Esimerkki Manifest V3 -kuuntelijan rekisteröinnistä näyttää synkronisen rekisteröinnin ja tilin valinnan takaisinkutsun sisällä.
Tarkista manifestin sukupolvi
Esimerkit, jotka mainitsevat kokeellisen WebRequest-API:n, ovat peräisin vanhoista laajennusjulkaisuista. Nykyiset käyttöoikeusvaatimukset riippuvat laajennuksen manifestin sukupolvesta ja käyttöönottomallista. Erityisesti todennuksen käsittelyllä on oma tuettu käyttöoikeuspolkunsa; vanhentunut estävän kuuntelijan esimerkki ei riitä osoittamaan, että Manifest V3 -laajennus voi ajaa sen muuttamatta.
Oikean käsittelijän on myös vältettävä samojen hylättyjen tunnistetietojen loputonta uudelleenyritystä. Kohtele toista haastetta tilin toimittamisen jälkeen tutkittavana todisteena, ei pyyntönä toistaa salasanaa ikuisesti.
Tunnistetietojen tulisi pysyä laajennuksen asianmukaisessa suojatussa käsittelypolussa. Älä julkaise niitä PAC-tiedostossa äläkä kovakoodaa niitä jaettavaan esimerkkiin. Tavoitteena on kapeasti rajattu välityspalvelinkirjautuminen, ei koko selaimen sääntö, joka vastaa jokaiseen todennushaasteeseen samalla salaisuudella.