Chrome onAuthRequired: перевірте isProxy перед надсиланням облікових даних
Зворотний виклик автентифікації Chrome може описувати запит проксі або запит джерела. Надання тих самих облікових даних обом — помилка області дії облікових даних.
Розширення браузера може зіткнутися із запитами автентифікації з двох різних місць: проксі, що передає запит, і цільового сайту. Вони не повинні автоматично отримувати той самий обліковий запис.
Корисний розрізнювач у події webRequest.onAuthRequired Chrome — це isProxy. Зворотний виклик, який прибирає цю перевірку лише для того, щоб зник запит, може почати передавати облікові дані проксі запиту джерела.
Зіставте проксі, якому збираєтеся довіряти
Перевірка isProxy — це початок. Також обмежте обробку очікуваним ініціатором запиту проксі та контекстом запиту. Розширення, що керує кількома кінцевими точками, має вибирати обліковий запис, що належить цій кінцевій точці, а не один глобальний пароль для кожного запиту.
Не припускайте, що налаштування маршруту проксі та обробка його входу — це один дозвіл або один виклик API. Chrome документує їх окремо. Використовуйте поточну довідку webRequest для даних подій і дозволів автентифікації. Приклад реєстрації слухача Manifest V3 показує синхронну реєстрацію та вибір облікового запису всередині зворотного виклику.
Перевірте покоління маніфесту
Приклади, що згадують експериментальний API WebRequest, походять зі старих випусків розширення. Поточні вимоги до дозволів залежать від покоління маніфесту розширення та моделі розгортання. Зокрема, обробка автентифікації має власний підтримуваний шлях дозволів; застарілий приклад блокувального слухача недостатній, щоб довести, що розширення Manifest V3 може виконувати його без змін.
Правильний обробник також має уникати нескінченного повторення тих самих відхилених облікових даних. Другий запит після надання облікового запису слід вважати приводом для розслідування, а не проханням вічно повторювати пароль.
Облікові дані мають залишатися у відповідному захищеному шляху обробки розширення. Не публікуйте їх у файлі PAC і не вбудовуйте в розповсюджуваний приклад. Мета — вузько обмежений вхід через проксі, а не загальнобраузерне правило, що відповідає на кожен запит автентифікації тим самим секретом.